From 669c11efd76ccad980b3092730e09b1aa7918ed4 Mon Sep 17 00:00:00 2001 From: kikoketchup Date: Tue, 12 May 2026 00:27:09 +0200 Subject: [PATCH 01/21] removed dockerfile from database, added to backend --- backend/Dockerfile | 12 + database/Dockerfile | 8 - database/package-lock.json | 3662 ------------------------------------ database/package.json | 10 - docker-compose.yml | 15 +- 5 files changed, 20 insertions(+), 3687 deletions(-) create mode 100644 backend/Dockerfile delete mode 100644 database/Dockerfile delete mode 100644 database/package-lock.json delete mode 100644 database/package.json diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..d9365e7 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,12 @@ +FROM node:18-alpine + +WORKDIR /app + +COPY package*.json ./ +RUN npm install + +COPY . . + +EXPOSE 3000 + +CMD ["node", "server.js"] \ No newline at end of file diff --git a/database/Dockerfile b/database/Dockerfile deleted file mode 100644 index 02a505c..0000000 --- a/database/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM node:18-alpine -WORKDIR /app -COPY package.json ./ -COPY package-lock.json ./ -RUN npm ci -COPY . . -EXPOSE 3000 -CMD ["npm", "start"] \ No newline at end of file diff --git a/database/package-lock.json b/database/package-lock.json deleted file mode 100644 index cf6b989..0000000 --- a/database/package-lock.json +++ /dev/null @@ -1,3662 +0,0 @@ -{ - "name": "CodeClash-CI", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "CodeClash-CI", - "version": "1.0.0", - "devDependencies": { - "jest": "^29.7.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", - "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", - "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", - "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", - "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", - "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.10", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", - "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/node": { - "version": "25.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.19.0" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/yargs": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", - "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", - "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" - }, - "peerDependencies": { - "@babel/core": "^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.24", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", - "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001791", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", - "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", - "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", - "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", - "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.348", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.348.tgz", - "integrity": "sha512-QC2X59nRlycQQMc4ZXjSVBX+tSgJfgRtcrYHbIZLgOV2dCvefoQGegLR7lLXKgpPpSuVmJU19LMzGrSa2C7k3Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true, - "license": "MIT" - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", - "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true, - "license": "MIT" - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.12", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", - "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/undici-types": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", - "dev": true, - "license": "MIT" - }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/database/package.json b/database/package.json deleted file mode 100644 index 9fbc3b9..0000000 --- a/database/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "CodeClash-CI", - "version": "1.0.0", - "scripts": { - "test": "jest" - }, - "devDependencies": { - "jest": "^29.7.0" - } -} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c8e4a2a..3fe85f9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,13 +13,14 @@ services: - ./backend:/app - /app/node_modules - frontend: - build: ./frontend - ports: - - "5173:5173" - volumes: - - ./frontend:/app - - /app/node_modules + # frontend: + # build: ./frontend + # ports: + # - "5173:5173" + # volumes: + # - ./frontend:/app + # - /app/node_modules + #TODO IMPORTANT return this when we want to containerise the front end for deployment db: image: postgres:15-alpine From 5ca31e0c47b46691bf7b842d4cebe9cca1e7d6b6 Mon Sep 17 00:00:00 2001 From: kikoketchup Date: Tue, 12 May 2026 01:01:23 +0200 Subject: [PATCH 02/21] changed the entry point directory in dockerfile, commented out Judge0 service in yml --- backend/Dockerfile | 2 +- database/init.sql | 4 ++-- docker-compose.yml | 11 ++++++----- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index d9365e7..762ff88 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -9,4 +9,4 @@ COPY . . EXPOSE 3000 -CMD ["node", "server.js"] \ No newline at end of file +CMD ["node", "src/server.js"] \ No newline at end of file diff --git a/database/init.sql b/database/init.sql index e0ed458..8993e04 100644 --- a/database/init.sql +++ b/database/init.sql @@ -10,7 +10,7 @@ CREATE TABLE IF NOT EXISTS users ( CREATE TABLE IF NOT EXISTS elo_ratings ( elo_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID REFERENCES users(user_id), - game_mode VARCHAR(20) NOT NULL, rating INTEGER DEFAULT 600, updated_at TIMESTAMP DEFAULT NOW() -); \ No newline at end of file +); + diff --git a/docker-compose.yml b/docker-compose.yml index 3fe85f9..23219cf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,11 +34,12 @@ services: - postgres_data:/var/lib/postgresql/data - ./database/init.sql:/docker-entrypoint-initdb.d/init.sql - judge0: - image: judge0/judge0:latest - ports: - - "2358:2358" - privileged: true + # judge0: + # image: judge0/judge0:latest + # ports: + # - "2358:2358" + # privileged: true + #TODO IMPORTANT return this when we want to start implementing code execution volumes: postgres_data: \ No newline at end of file From a5fa432ca8ef7c7c4f691002bbeec96af0b0e0bb Mon Sep 17 00:00:00 2001 From: morganthegirlboss Date: Tue, 12 May 2026 01:15:45 +0200 Subject: [PATCH 03/21] added math problems schema --- database/init.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/database/init.sql b/database/init.sql index e0ed458..2651b07 100644 --- a/database/init.sql +++ b/database/init.sql @@ -13,4 +13,14 @@ CREATE TABLE IF NOT EXISTS elo_ratings ( game_mode VARCHAR(20) NOT NULL, rating INTEGER DEFAULT 600, updated_at TIMESTAMP DEFAULT NOW() +); + +CREATE TABLE IF NOT EXISTS math_problems ( + problem_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + difficulty_level ENUM('Easy', 'Medium', 'Difficult') NOT NULL, + title VARCHAR(20) NOT NULL, + description VARCHAR(40) NOT NULL, + time_limit TIME(2) NOT NULL, + equation VARCHAR(20) NOT NULL, + solution_formula VARCHAR(20) NOT NULL ); \ No newline at end of file From a3082ab478a66bc898c1521b2fc340d799f35b9d Mon Sep 17 00:00:00 2001 From: morganthegirlboss Date: Tue, 12 May 2026 01:20:37 +0200 Subject: [PATCH 04/21] added comp sci problems schema --- database/init.sql | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/database/init.sql b/database/init.sql index 2651b07..476ece3 100644 --- a/database/init.sql +++ b/database/init.sql @@ -23,4 +23,15 @@ CREATE TABLE IF NOT EXISTS math_problems ( time_limit TIME(2) NOT NULL, equation VARCHAR(20) NOT NULL, solution_formula VARCHAR(20) NOT NULL +); + +CREATE TABLE IF NOT EXISTS programming_problems ( + problem_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + difficulty_level ENUM('Easy', 'Medium', 'Difficult') NOT NULL, + title VARCHAR(20) NOT NULL, + description VARCHAR(40) NOT NULL, + time_limit TIME(2) NOT NULL, + function_signature VARCHAR(25) NOT NULL, + supported_languages ENUM('java', 'c++') NOT NULL + // java, c++ ); \ No newline at end of file From 95eafe52d331c936cd6a31170824bdf0d5debc56 Mon Sep 17 00:00:00 2001 From: morganthegirlboss Date: Tue, 12 May 2026 02:19:23 +0200 Subject: [PATCH 05/21] Adding virtual table and problem category type to be compatible with Diso's tables --- database/init.sql | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/database/init.sql b/database/init.sql index 476ece3..395292e 100644 --- a/database/init.sql +++ b/database/init.sql @@ -7,6 +7,17 @@ CREATE TABLE IF NOT EXISTS users ( created_at TIMESTAMP DEFAULT NOW() ); +CREATE TYPE problem_category AS ENUM ('math', 'programming'); + +CREATE TABLE IF NOT EXISTS problems ( + problem_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + type problem_category NOT NULL, + difficulty_level ENUM('Easy', 'Medium', 'Difficult') NOT NULL, + title VARCHAR(20) NOT NULL, + description VARCHAR(40) NOT NULL, + time_limit TIME(2) NOT NULL +); + CREATE TABLE IF NOT EXISTS elo_ratings ( elo_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID REFERENCES users(user_id), @@ -15,6 +26,9 @@ CREATE TABLE IF NOT EXISTS elo_ratings ( updated_at TIMESTAMP DEFAULT NOW() ); + +//virtual table with category enum variable math or programming and then children tables have category=math or programming + CREATE TABLE IF NOT EXISTS math_problems ( problem_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), difficulty_level ENUM('Easy', 'Medium', 'Difficult') NOT NULL, @@ -33,5 +47,4 @@ CREATE TABLE IF NOT EXISTS programming_problems ( time_limit TIME(2) NOT NULL, function_signature VARCHAR(25) NOT NULL, supported_languages ENUM('java', 'c++') NOT NULL - // java, c++ ); \ No newline at end of file From 429a2186e1fcffff5ba194fa59f4f75a6a72377d Mon Sep 17 00:00:00 2001 From: morganthegirlboss Date: Tue, 12 May 2026 02:21:04 +0200 Subject: [PATCH 06/21] Providing categories to children tables --- database/init.sql | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/database/init.sql b/database/init.sql index 395292e..428f9e6 100644 --- a/database/init.sql +++ b/database/init.sql @@ -23,7 +23,10 @@ CREATE TABLE IF NOT EXISTS elo_ratings ( user_id UUID REFERENCES users(user_id), game_mode VARCHAR(20) NOT NULL, rating INTEGER DEFAULT 600, - updated_at TIMESTAMP DEFAULT NOW() + updated_at TIMESTAMP DEFAULT NOW(), + CONSTRAINT math_category_check CHECK ( + (SELECT type FROM problems WHERE id = problem_id) = 'math' + ) ); @@ -46,5 +49,8 @@ CREATE TABLE IF NOT EXISTS programming_problems ( description VARCHAR(40) NOT NULL, time_limit TIME(2) NOT NULL, function_signature VARCHAR(25) NOT NULL, - supported_languages ENUM('java', 'c++') NOT NULL + supported_languages ENUM('java', 'c++') NOT NULL, + CONSTRAINT programming_category_check CHECK ( + (SELECT type FROM problems WHERE id = problem_id) = 'programming' + ) ); \ No newline at end of file From 0060055fba08e2b2cbba66332cc38bb7d3498e68 Mon Sep 17 00:00:00 2001 From: morganthegirlboss Date: Tue, 12 May 2026 02:21:43 +0200 Subject: [PATCH 07/21] removed comments --- database/init.sql | 2 -- 1 file changed, 2 deletions(-) diff --git a/database/init.sql b/database/init.sql index 428f9e6..29a5d2c 100644 --- a/database/init.sql +++ b/database/init.sql @@ -30,8 +30,6 @@ CREATE TABLE IF NOT EXISTS elo_ratings ( ); -//virtual table with category enum variable math or programming and then children tables have category=math or programming - CREATE TABLE IF NOT EXISTS math_problems ( problem_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), difficulty_level ENUM('Easy', 'Medium', 'Difficult') NOT NULL, From bf03ee040cb58685fa9d0786aff8f518b3f83ed5 Mon Sep 17 00:00:00 2001 From: kikoketchup Date: Tue, 12 May 2026 02:26:01 +0200 Subject: [PATCH 08/21] added sql tables for matches, match log and elo --- database/init.sql | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/database/init.sql b/database/init.sql index 8993e04..5c05dbe 100644 --- a/database/init.sql +++ b/database/init.sql @@ -7,6 +7,35 @@ CREATE TABLE IF NOT EXISTS users ( created_at TIMESTAMP DEFAULT NOW() ); +CREATE TABLE IF NOT EXISTS match_problems( + match_problems_id PRIMARY KEY DEFAULT gen_random_uuid(), + question1 UUID REFERENCES problems(problem_id) NOT NULL, + question2 UUID REFERENCES problems(problem_id) NOT NULL, + question3 UUID REFERENCES problems(problem_id) NOT NULL, --every match has a minimum of 3 questions, i.e. difficult mode + question4 UUID REFERENCES problems(problem_id), + question5 UUID REFERENCES problems(problem_id) +); + +CREATE TABLE IF NOT EXISTS matches( + match_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + player1_id UUID REFERENCES users(user_id), + player2_id UUID REFERENCES users(user_id), + match_problems_id UUID REFERENCES match_problems(match_problems_id), + mode VARCHAR(10) CHECK (mode IN ('ranked', 'casual')) NOT NULL, + queue_start TIMESTAMP DEFAULT NOW() NOT NULL, + match_start TIMESTAMP, + status VARCHAR(20) CHECK (status IN ('waiting', 'in_progress', 'completed', 'abandoned')) DEFAULT 'waiting' +); + +CREATE TABLE IF NOT EXISTS match_log( + log_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + match_id UUID REFERENCES matches(match_id), + winner_id UUID REFERENCES users(user_id), + loser_id UUID REFERENCES users(user_id), + elo_gained INTEGER, --can be null incase it's a casual match + elo_lost INTEGER +); + CREATE TABLE IF NOT EXISTS elo_ratings ( elo_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID REFERENCES users(user_id), @@ -14,3 +43,11 @@ CREATE TABLE IF NOT EXISTS elo_ratings ( updated_at TIMESTAMP DEFAULT NOW() ); +CREATE TABLE IF NOT EXISTS elo_history ( + history_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + user_id UUID REFERENCES users(user_id), + match_id UUID REFERENCES matches(match_id), + old_rating INTEGER, + new_rating INTEGER, + changed_at TIMESTAMP DEFAULT NOW() +); \ No newline at end of file From 48e02089aa3834a2a82ea056b91c57ff7f68072c Mon Sep 17 00:00:00 2001 From: morganthegirlboss Date: Tue, 12 May 2026 02:33:38 +0200 Subject: [PATCH 09/21] removing function signature and equation in child tables, changed implementation so children tables of problems table function like children tables --- database/init.sql | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/database/init.sql b/database/init.sql index 29a5d2c..612e34b 100644 --- a/database/init.sql +++ b/database/init.sql @@ -10,7 +10,7 @@ CREATE TABLE IF NOT EXISTS users ( CREATE TYPE problem_category AS ENUM ('math', 'programming'); CREATE TABLE IF NOT EXISTS problems ( - problem_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + id SERIAL PRIMARY KEY, type problem_category NOT NULL, difficulty_level ENUM('Easy', 'Medium', 'Difficult') NOT NULL, title VARCHAR(20) NOT NULL, @@ -24,29 +24,24 @@ CREATE TABLE IF NOT EXISTS elo_ratings ( game_mode VARCHAR(20) NOT NULL, rating INTEGER DEFAULT 600, updated_at TIMESTAMP DEFAULT NOW(), - CONSTRAINT math_category_check CHECK ( - (SELECT type FROM problems WHERE id = problem_id) = 'math' - ) + ); CREATE TABLE IF NOT EXISTS math_problems ( - problem_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - difficulty_level ENUM('Easy', 'Medium', 'Difficult') NOT NULL, - title VARCHAR(20) NOT NULL, - description VARCHAR(40) NOT NULL, - time_limit TIME(2) NOT NULL, - equation VARCHAR(20) NOT NULL, - solution_formula VARCHAR(20) NOT NULL + id SERIAL PRIMARY KEY, + problem_id INT NOT NULL REFERENCES problems(id) ON DELETE CASCADE, + --equation VARCHAR(20) NOT NULL, + solution_formula VARCHAR(20) NOT NULL, + CONSTRAINT math_category_check CHECK ( + (SELECT type FROM problems WHERE id = problem_id) = 'math' + ) ); CREATE TABLE IF NOT EXISTS programming_problems ( - problem_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), - difficulty_level ENUM('Easy', 'Medium', 'Difficult') NOT NULL, - title VARCHAR(20) NOT NULL, - description VARCHAR(40) NOT NULL, - time_limit TIME(2) NOT NULL, - function_signature VARCHAR(25) NOT NULL, + id SERIAL PRIMARY KEY, + problem_id INT NOT NULL REFERENCES problems(id) ON DELETE CASCADE, + --function_signature VARCHAR(25) NOT NULL, supported_languages ENUM('java', 'c++') NOT NULL, CONSTRAINT programming_category_check CHECK ( (SELECT type FROM problems WHERE id = problem_id) = 'programming' From c662811d10b7c988515b314e932a09e56153df67 Mon Sep 17 00:00:00 2001 From: kikoketchup Date: Tue, 12 May 2026 02:36:42 +0200 Subject: [PATCH 10/21] fixed id reference for match_problem table --- database/init.sql | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/database/init.sql b/database/init.sql index 5c05dbe..dad765d 100644 --- a/database/init.sql +++ b/database/init.sql @@ -9,11 +9,11 @@ CREATE TABLE IF NOT EXISTS users ( CREATE TABLE IF NOT EXISTS match_problems( match_problems_id PRIMARY KEY DEFAULT gen_random_uuid(), - question1 UUID REFERENCES problems(problem_id) NOT NULL, - question2 UUID REFERENCES problems(problem_id) NOT NULL, - question3 UUID REFERENCES problems(problem_id) NOT NULL, --every match has a minimum of 3 questions, i.e. difficult mode - question4 UUID REFERENCES problems(problem_id), - question5 UUID REFERENCES problems(problem_id) + question1 UUID REFERENCES problems(id) NOT NULL, + question2 UUID REFERENCES problems(id) NOT NULL, + question3 UUID REFERENCES problems(id) NOT NULL, --every match has a minimum of 3 questions, i.e. difficult mode + question4 UUID REFERENCES problems(id), + question5 UUID REFERENCES problems(id) ); CREATE TABLE IF NOT EXISTS matches( From 417e40005c9962935cbacb4bda0369538e36d295 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Thu, 30 Apr 2026 14:43:07 +0200 Subject: [PATCH 11/21] use cases and functional requirements --- .env.example | 6 +- .github/pull_request_template.md | 8 +- .gitignore | 926 +-- backend/package-lock.json | 11248 ++++++++++++++--------------- backend/package.json | 54 +- backend/src/app.js | 22 +- backend/src/server.js | 10 +- docs/functional_requirements.md | 54 + docs/user_stories.md | 51 + frontend/.gitignore | 48 +- frontend/README.md | 32 +- frontend/eslint.config.js | 42 +- frontend/index.html | 26 +- frontend/package-lock.json | 4856 ++++++------- frontend/public/icons.svg | 48 +- frontend/src/App.css | 368 +- frontend/src/App.jsx | 244 +- frontend/src/assets/vite.svg | 2 +- frontend/src/index.css | 222 +- frontend/src/main.jsx | 20 +- 20 files changed, 9196 insertions(+), 9091 deletions(-) create mode 100644 docs/functional_requirements.md create mode 100644 docs/user_stories.md diff --git a/.env.example b/.env.example index 5a257bb..dadfe26 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,4 @@ -PORT=3000 -DATABASE_URL=postgresql://postgres:password@localhost:5432/codeclash -JWT_SECRET=your_jwt_secret_here +PORT=3000 +DATABASE_URL=postgresql://postgres:password@localhost:5432/codeclash +JWT_SECRET=your_jwt_secret_here JUDGE0_URL=http://localhost:2358 \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index b68d344..0c188d8 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,5 +1,5 @@ -## What does this PR do? - -## Related issue - +## What does this PR do? + +## Related issue + ## How to test \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7b126c9..a08e5b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,464 +1,464 @@ -# Created by https://www.toptal.com/developers/gitignore/api/node,react,java,python,intellij -# Edit at https://www.toptal.com/developers/gitignore?templates=node,react,java,python,intellij - -### Intellij ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### Intellij Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -# https://plugins.jetbrains.com/plugin/7973-sonarlint -.idea/**/sonarlint/ - -# SonarQube Plugin -# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin -.idea/**/sonarIssues.xml - -# Markdown Navigator plugin -# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced -.idea/**/markdown-navigator.xml -.idea/**/markdown-navigator-enh.xml -.idea/**/markdown-navigator/ - -# Cache file creation bug -# See https://youtrack.jetbrains.com/issue/JBR-2257 -.idea/$CACHE_FILE$ - -# CodeStream plugin -# https://plugins.jetbrains.com/plugin/12206-codestream -.idea/codestream.xml - -# Azure Toolkit for IntelliJ plugin -# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij -.idea/**/azureSettings.xml - -### Java ### -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* -replay_pid* - -### Node ### -# Logs -logs -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - -### Node Patch ### -# Serverless Webpack directories -.webpack/ - -# Optional stylelint cache - -# SvelteKit build / generate output -.svelte-kit - -### Python ### -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ - -### Python Patch ### -# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration -poetry.toml - -# ruff -.ruff_cache/ - -# LSP config files -pyrightconfig.json - -### react ### -.DS_* -**/*.backup.* -**/*.back.* - -node_modules - -*.sublime* - -psd -thumb -sketch - +# Created by https://www.toptal.com/developers/gitignore/api/node,react,java,python,intellij +# Edit at https://www.toptal.com/developers/gitignore?templates=node,react,java,python,intellij + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Intellij Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +# https://plugins.jetbrains.com/plugin/7973-sonarlint +.idea/**/sonarlint/ + +# SonarQube Plugin +# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin +.idea/**/sonarIssues.xml + +# Markdown Navigator plugin +# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced +.idea/**/markdown-navigator.xml +.idea/**/markdown-navigator-enh.xml +.idea/**/markdown-navigator/ + +# Cache file creation bug +# See https://youtrack.jetbrains.com/issue/JBR-2257 +.idea/$CACHE_FILE$ + +# CodeStream plugin +# https://plugins.jetbrains.com/plugin/12206-codestream +.idea/codestream.xml + +# Azure Toolkit for IntelliJ plugin +# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij +.idea/**/azureSettings.xml + +### Java ### +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* + +### Node ### +# Logs +logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache + +# SvelteKit build / generate output +.svelte-kit + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +### react ### +.DS_* +**/*.backup.* +**/*.back.* + +node_modules + +*.sublime* + +psd +thumb +sketch + # End of https://www.toptal.com/developers/gitignore/api/node,react,java,python,intellij \ No newline at end of file diff --git a/backend/package-lock.json b/backend/package-lock.json index e75ab77..4f4fe77 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -1,5624 +1,5624 @@ -{ - "name": "backend", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "backend", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "cors": "^2.8.6", - "dotenv": "^17.4.2", - "express": "^5.2.1", - "pg": "^8.20.0" - }, - "devDependencies": { - "jest": "^30.3.0", - "nodemon": "^3.1.14" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", - "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", - "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", - "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.3.0.tgz", - "integrity": "sha512-PAwCvFJ4696XP2qZj+LAn1BWjZaJ6RjG6c7/lkMaUJnkyMS34ucuIsfqYvfskVNvUI27R/u4P1HMYFnlVXG/Ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/core": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.3.0.tgz", - "integrity": "sha512-U5mVPsBxLSO6xYbf+tgkymLx+iAhvZX43/xI1+ej2ZOPnPdkdO1CzDmFKh2mZBn2s4XZixszHeQnzp1gm/DIxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "30.3.0", - "@jest/pattern": "30.0.1", - "@jest/reporters": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-changed-files": "30.3.0", - "jest-config": "30.3.0", - "jest-haste-map": "30.3.0", - "jest-message-util": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-resolve-dependencies": "30.3.0", - "jest-runner": "30.3.0", - "jest-runtime": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "jest-watcher": "30.3.0", - "pretty-format": "30.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/diff-sequences": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz", - "integrity": "sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/environment": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.3.0.tgz", - "integrity": "sha512-SlLSF4Be735yQXyh2+mctBOzNDx5s5uLv88/j8Qn1wH679PDcwy67+YdADn8NJnGjzlXtN62asGH/T4vWOkfaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "jest-mock": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.3.0.tgz", - "integrity": "sha512-76Nlh4xJxk2D/9URCn3wFi98d2hb19uWE1idLsTt2ywhvdOldbw3S570hBgn25P4ICUZ/cBjybrBex2g17IDbg==", - "dev": true, - "license": "MIT", - "dependencies": { - "expect": "30.3.0", - "jest-snapshot": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.3.0.tgz", - "integrity": "sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.3.0.tgz", - "integrity": "sha512-WUQDs8SOP9URStX1DzhD425CqbN/HxUYCTwVrT8sTVBfMvFqYt/s61EK5T05qnHu0po6RitXIvP9otZxYDzTGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@sinonjs/fake-timers": "^15.0.0", - "@types/node": "*", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-util": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/get-type": { - "version": "30.1.0", - "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", - "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.3.0.tgz", - "integrity": "sha512-+owLCBBdfpgL3HU+BD5etr1SvbXpSitJK0is1kiYjJxAAJggYMRQz5hSdd5pq1sSggfxPbw2ld71pt4x5wwViA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.3.0", - "@jest/expect": "30.3.0", - "@jest/types": "30.3.0", - "jest-mock": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/pattern": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", - "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-regex-util": "30.0.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.3.0.tgz", - "integrity": "sha512-a09z89S+PkQnL055bVj8+pe2Caed2PBOaczHcXCykW5ngxX9EWx/1uAwncxc/HiU0oZqfwseMjyhxgRjS49qPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "@jridgewell/trace-mapping": "^0.3.25", - "@types/node": "*", - "chalk": "^4.1.2", - "collect-v8-coverage": "^1.0.2", - "exit-x": "^0.2.2", - "glob": "^10.5.0", - "graceful-fs": "^4.2.11", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^5.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", - "jest-worker": "30.3.0", - "slash": "^3.0.0", - "string-length": "^4.0.2", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", - "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.34.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/snapshot-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.3.0.tgz", - "integrity": "sha512-ORbRN9sf5PP82v3FXNSwmO1OTDR2vzR2YTaR+E3VkSBZ8zadQE6IqYdYEeFH1NIkeB2HIGdF02dapb6K0Mj05g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "natural-compare": "^1.4.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", - "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "callsites": "^3.1.0", - "graceful-fs": "^4.2.11" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.3.0.tgz", - "integrity": "sha512-e/52nJGuD74AKTSe0P4y5wFRlaXP0qmrS17rqOMHeSwm278VyNyXE3gFO/4DTGF9w+65ra3lo3VKj0LBrzmgdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "30.3.0", - "@jest/types": "30.3.0", - "@types/istanbul-lib-coverage": "^2.0.6", - "collect-v8-coverage": "^1.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.3.0.tgz", - "integrity": "sha512-dgbWy9b8QDlQeRZcv7LNF+/jFiiYHTKho1xirauZ7kVwY7avjFF6uTT0RqlgudB5OuIPagFdVtfFMosjVbk1eA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "30.3.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.3.0.tgz", - "integrity": "sha512-TLKY33fSLVd/lKB2YI1pH69ijyUblO/BQvCj566YvnwuzoTNr648iE0j22vRvVNk2HsPwByPxATg3MleS3gf5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.27.4", - "@jest/types": "30.3.0", - "@jridgewell/trace-mapping": "^0.3.25", - "babel-plugin-istanbul": "^7.0.1", - "chalk": "^4.1.2", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-util": "30.3.0", - "pirates": "^4.0.7", - "slash": "^3.0.0", - "write-file-atomic": "^5.0.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/types": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.3.0.tgz", - "integrity": "sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.5", - "@types/istanbul-lib-coverage": "^2.0.6", - "@types/istanbul-reports": "^3.0.4", - "@types/node": "*", - "@types/yargs": "^17.0.33", - "chalk": "^4.1.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@pkgr/core": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", - "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/pkgr" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.34.49", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", - "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "15.3.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz", - "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/node": { - "version": "25.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.19.0" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/yargs": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", - "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/babel-jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.3.0.tgz", - "integrity": "sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/transform": "30.3.0", - "@types/babel__core": "^7.20.5", - "babel-plugin-istanbul": "^7.0.1", - "babel-preset-jest": "30.3.0", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", - "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", - "dev": true, - "license": "BSD-3-Clause", - "workspaces": [ - "test/babel-8" - ], - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-instrument": "^6.0.2", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.3.0.tgz", - "integrity": "sha512-+TRkByhsws6sfPjVaitzadk1I0F5sPvOVUH5tyTSzhePpsGIVrdeunHSw/C36QeocS95OOk8lunc4rlu5Anwsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/babel__core": "^7.20.5" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", - "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" - }, - "peerDependencies": { - "@babel/core": "^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/babel-preset-jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.3.0.tgz", - "integrity": "sha512-6ZcUbWHC+dMz2vfzdNwi87Z1gQsLNK2uLuK1Q89R11xdvejcivlYYwDlEv0FHX3VwEXpbBQ9uufB/MUNpZGfhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "30.3.0", - "babel-preset-current-node-syntax": "^1.2.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-beta.1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.24", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", - "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", - "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001791", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", - "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/ci-info": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", - "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", - "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", - "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cors": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", - "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", - "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", - "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.344", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", - "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", - "dev": true, - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/exit-x": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", - "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.3.0.tgz", - "integrity": "sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/expect-utils": "30.3.0", - "@jest/get-type": "30.1.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-util": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "depd": "^2.0.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true, - "license": "ISC" - }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "license": "MIT" - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", - "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.23", - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", - "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-30.3.0.tgz", - "integrity": "sha512-AkXIIFcaazymvey2i/+F94XRnM6TsVLZDhBMLsd1Sf/W0wzsvvpjeyUrCZD6HGG4SDYPgDJDBKeiJTBb10WzMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "30.3.0", - "@jest/types": "30.3.0", - "import-local": "^3.2.0", - "jest-cli": "30.3.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.3.0.tgz", - "integrity": "sha512-B/7Cny6cV5At6M25EWDgf9S617lHivamL8vl6KEpJqkStauzcG4e+WPfDgMMF+H4FVH4A2PLRyvgDJan4441QA==", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^5.1.1", - "jest-util": "30.3.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-circus": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.3.0.tgz", - "integrity": "sha512-PyXq5szeSfR/4f1lYqCmmQjh0vqDkURUYi9N6whnHjlRz4IUQfMcXkGLeEoiJtxtyPqgUaUUfyQlApXWBSN1RA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.3.0", - "@jest/expect": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "co": "^4.6.0", - "dedent": "^1.6.0", - "is-generator-fn": "^2.1.0", - "jest-each": "30.3.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-runtime": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", - "p-limit": "^3.1.0", - "pretty-format": "30.3.0", - "pure-rand": "^7.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-cli": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.3.0.tgz", - "integrity": "sha512-l6Tqx+j1fDXJEW5bqYykDQQ7mQg+9mhWXtnj+tQZrTWYHyHoi6Be8HPumDSA+UiX2/2buEgjA58iJzdj146uCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", - "chalk": "^4.1.2", - "exit-x": "^0.2.2", - "import-local": "^3.2.0", - "jest-config": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "yargs": "^17.7.2" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.3.0.tgz", - "integrity": "sha512-WPMAkMAtNDY9P/oKObtsRG/6KTrhtgPJoBTmk20uDn4Uy6/3EJnnaZJre/FMT1KVRx8cve1r7/FlMIOfRVWL4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.27.4", - "@jest/get-type": "30.1.0", - "@jest/pattern": "30.0.1", - "@jest/test-sequencer": "30.3.0", - "@jest/types": "30.3.0", - "babel-jest": "30.3.0", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "deepmerge": "^4.3.1", - "glob": "^10.5.0", - "graceful-fs": "^4.2.11", - "jest-circus": "30.3.0", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-runner": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "parse-json": "^5.2.0", - "pretty-format": "30.3.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "esbuild-register": ">=3.4.0", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "esbuild-register": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz", - "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/diff-sequences": "30.3.0", - "@jest/get-type": "30.1.0", - "chalk": "^4.1.2", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.2.0.tgz", - "integrity": "sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.1.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-each": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.3.0.tgz", - "integrity": "sha512-V8eMndg/aZ+3LnCJgSm13IxS5XSBM22QSZc9BtPK8Dek6pm+hfUNfwBdvsB3d342bo1q7wnSkC38zjX259qZNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "@jest/types": "30.3.0", - "chalk": "^4.1.2", - "jest-util": "30.3.0", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.3.0.tgz", - "integrity": "sha512-4i6HItw/JSiJVsC5q0hnKIe/hbYfZLVG9YJ/0pU9Hz2n/9qZe3Rhn5s5CUZA5ORZlcdT/vmAXRMyONXJwPrmYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.3.0", - "@jest/fake-timers": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "jest-mock": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.3.0.tgz", - "integrity": "sha512-mMi2oqG4KRU0R9QEtscl87JzMXfUhbKaFqOxmjb2CKcbHcUGFrJCBWHmnTiUqi6JcnzoBlO4rWfpdl2k/RfLCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@types/node": "*", - "anymatch": "^3.1.3", - "fb-watchman": "^2.0.2", - "graceful-fs": "^4.2.11", - "jest-regex-util": "30.0.1", - "jest-util": "30.3.0", - "jest-worker": "30.3.0", - "picomatch": "^4.0.3", - "walker": "^1.0.8" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.3" - } - }, - "node_modules/jest-leak-detector": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.3.0.tgz", - "integrity": "sha512-cuKmUUGIjfXZAiGJ7TbEMx0bcqNdPPI6P1V+7aF+m/FUJqFDxkFR4JqkTu8ZOiU5AaX/x0hZ20KaaIPXQzbMGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz", - "integrity": "sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "chalk": "^4.1.2", - "jest-diff": "30.3.0", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.3.0.tgz", - "integrity": "sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@jest/types": "30.3.0", - "@types/stack-utils": "^2.0.3", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.3", - "pretty-format": "30.3.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-mock": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.3.0.tgz", - "integrity": "sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@types/node": "*", - "jest-util": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", - "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.3.0.tgz", - "integrity": "sha512-NRtTAHQlpd15F9rUR36jqwelbrDV/dY4vzNte3S2kxCKUJRYNd5/6nTSbYiak1VX5g8IoFF23Uj5TURkUW8O5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "jest-pnp-resolver": "^1.2.3", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "slash": "^3.0.0", - "unrs-resolver": "^1.7.11" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.3.0.tgz", - "integrity": "sha512-9ev8s3YN6Hsyz9LV75XUwkCVFlwPbaFn6Wp75qnI0wzAINYWY8Fb3+6y59Rwd3QaS3kKXffHXsZMziMavfz/nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-regex-util": "30.0.1", - "jest-snapshot": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-runner": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.3.0.tgz", - "integrity": "sha512-gDv6C9LGKWDPLia9TSzZwf4h3kMQCqyTpq+95PODnTRDO0g9os48XIYYkS6D236vjpBir2fF63YmJFtqkS5Duw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "30.3.0", - "@jest/environment": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.3.0", - "jest-haste-map": "30.3.0", - "jest-leak-detector": "30.3.0", - "jest-message-util": "30.3.0", - "jest-resolve": "30.3.0", - "jest-runtime": "30.3.0", - "jest-util": "30.3.0", - "jest-watcher": "30.3.0", - "jest-worker": "30.3.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.3.0.tgz", - "integrity": "sha512-CgC+hIBJbuh78HEffkhNKcbXAytQViplcl8xupqeIWyKQF50kCQA8J7GeJCkjisC6hpnC9Muf8jV5RdtdFbGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.3.0", - "@jest/fake-timers": "30.3.0", - "@jest/globals": "30.3.0", - "@jest/source-map": "30.0.1", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "cjs-module-lexer": "^2.1.0", - "collect-v8-coverage": "^1.0.2", - "glob": "^10.5.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.3.0.tgz", - "integrity": "sha512-f14c7atpb4O2DeNhwcvS810Y63wEn8O1HqK/luJ4F6M4NjvxmAKQwBUWjbExUtMxWJQ0wVgmCKymeJK6NZMnfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.27.4", - "@babel/generator": "^7.27.5", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.27.1", - "@babel/types": "^7.27.3", - "@jest/expect-utils": "30.3.0", - "@jest/get-type": "30.1.0", - "@jest/snapshot-utils": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "babel-preset-current-node-syntax": "^1.2.0", - "chalk": "^4.1.2", - "expect": "30.3.0", - "graceful-fs": "^4.2.11", - "jest-diff": "30.3.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", - "pretty-format": "30.3.0", - "semver": "^7.7.2", - "synckit": "^0.11.8" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.3.0.tgz", - "integrity": "sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.3" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-validate": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.3.0.tgz", - "integrity": "sha512-I/xzC8h5G+SHCb2P2gWkJYrNiTbeL47KvKeW5EzplkyxzBRBw1ssSHlI/jXec0ukH2q7x2zAWQm7015iusg62Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "@jest/types": "30.3.0", - "camelcase": "^6.3.0", - "chalk": "^4.1.2", - "leven": "^3.1.0", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.3.0.tgz", - "integrity": "sha512-PJ1d9ThtTR8aMiBWUdcownq9mDdLXsQzJayTk4kmaBRHKvwNQn+ANveuhEBUyNI2hR1TVhvQ8D5kHubbzBHR/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "jest-util": "30.3.0", - "string-length": "^4.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-worker": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.3.0.tgz", - "integrity": "sha512-DrCKkaQwHexjRUFTmPzs7sHQe0TSj9nvDALKGdwmK5mW9v7j90BudWirKAJHt3QQ9Dhrg1F7DogPzhChppkJpQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.3.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.1.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "dev": true, - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/nodemon": { - "version": "3.1.14", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.14.tgz", - "integrity": "sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^3.5.2", - "debug": "^4", - "ignore-by-default": "^1.0.1", - "minimatch": "^10.2.1", - "pstree.remy": "^1.1.8", - "semver": "^7.5.3", - "simple-update-notifier": "^2.0.0", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5" - }, - "bin": { - "nodemon": "bin/nodemon.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" - } - }, - "node_modules/nodemon/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/nodemon/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/nodemon/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/nodemon/node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/nodemon/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/nodemon/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/path-to-regexp": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", - "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/pg": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.20.0.tgz", - "integrity": "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==", - "license": "MIT", - "dependencies": { - "pg-connection-string": "^2.12.0", - "pg-pool": "^3.13.0", - "pg-protocol": "^1.13.0", - "pg-types": "2.2.0", - "pgpass": "1.0.5" - }, - "engines": { - "node": ">= 16.0.0" - }, - "optionalDependencies": { - "pg-cloudflare": "^1.3.0" - }, - "peerDependencies": { - "pg-native": ">=3.0.1" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - } - }, - "node_modules/pg-cloudflare": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz", - "integrity": "sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==", - "license": "MIT", - "optional": true - }, - "node_modules/pg-connection-string": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.12.0.tgz", - "integrity": "sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ==", - "license": "MIT" - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "license": "ISC", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-pool": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.13.0.tgz", - "integrity": "sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA==", - "license": "MIT", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.13.0.tgz", - "integrity": "sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==", - "license": "MIT" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "license": "MIT", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "license": "MIT", - "dependencies": { - "split2": "^4.1.0" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", - "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pretty-format": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", - "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "30.0.5", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true, - "license": "MIT" - }, - "node_modules/pure-rand": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", - "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/qs": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", - "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true, - "license": "MIT" - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.3", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.1", - "mime-types": "^3.0.2", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/serve-static": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", - "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "license": "ISC", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-length/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/synckit": { - "version": "0.11.12", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", - "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.2.9" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/synckit" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/touch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", - "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", - "dev": true, - "license": "ISC", - "bin": { - "nodetouch": "bin/nodetouch.js" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD", - "optional": true - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true, - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", - "dev": true, - "license": "MIT" - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} +{ + "name": "backend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "backend", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "cors": "^2.8.6", + "dotenv": "^17.4.2", + "express": "^5.2.1", + "pg": "^8.20.0" + }, + "devDependencies": { + "jest": "^30.3.0", + "nodemon": "^3.1.14" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.3.0.tgz", + "integrity": "sha512-PAwCvFJ4696XP2qZj+LAn1BWjZaJ6RjG6c7/lkMaUJnkyMS34ucuIsfqYvfskVNvUI27R/u4P1HMYFnlVXG/Ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.3.0", + "@types/node": "*", + "chalk": "^4.1.2", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/core": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.3.0.tgz", + "integrity": "sha512-U5mVPsBxLSO6xYbf+tgkymLx+iAhvZX43/xI1+ej2ZOPnPdkdO1CzDmFKh2mZBn2s4XZixszHeQnzp1gm/DIxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.3.0", + "@jest/pattern": "30.0.1", + "@jest/reporters": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.3.0", + "jest-config": "30.3.0", + "jest-haste-map": "30.3.0", + "jest-message-util": "30.3.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.3.0", + "jest-resolve-dependencies": "30.3.0", + "jest-runner": "30.3.0", + "jest-runtime": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", + "jest-watcher": "30.3.0", + "pretty-format": "30.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/diff-sequences": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz", + "integrity": "sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.3.0.tgz", + "integrity": "sha512-SlLSF4Be735yQXyh2+mctBOzNDx5s5uLv88/j8Qn1wH679PDcwy67+YdADn8NJnGjzlXtN62asGH/T4vWOkfaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "jest-mock": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.3.0.tgz", + "integrity": "sha512-76Nlh4xJxk2D/9URCn3wFi98d2hb19uWE1idLsTt2ywhvdOldbw3S570hBgn25P4ICUZ/cBjybrBex2g17IDbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "30.3.0", + "jest-snapshot": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.3.0.tgz", + "integrity": "sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.3.0.tgz", + "integrity": "sha512-WUQDs8SOP9URStX1DzhD425CqbN/HxUYCTwVrT8sTVBfMvFqYt/s61EK5T05qnHu0po6RitXIvP9otZxYDzTGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.3.0", + "@sinonjs/fake-timers": "^15.0.0", + "@types/node": "*", + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", + "jest-util": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/get-type": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", + "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.3.0.tgz", + "integrity": "sha512-+owLCBBdfpgL3HU+BD5etr1SvbXpSitJK0is1kiYjJxAAJggYMRQz5hSdd5pq1sSggfxPbw2ld71pt4x5wwViA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.3.0", + "@jest/expect": "30.3.0", + "@jest/types": "30.3.0", + "jest-mock": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/pattern": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", + "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.3.0.tgz", + "integrity": "sha512-a09z89S+PkQnL055bVj8+pe2Caed2PBOaczHcXCykW5ngxX9EWx/1uAwncxc/HiU0oZqfwseMjyhxgRjS49qPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", + "jest-worker": "30.3.0", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "30.0.5", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/snapshot-utils": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.3.0.tgz", + "integrity": "sha512-ORbRN9sf5PP82v3FXNSwmO1OTDR2vzR2YTaR+E3VkSBZ8zadQE6IqYdYEeFH1NIkeB2HIGdF02dapb6K0Mj05g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.3.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", + "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.3.0.tgz", + "integrity": "sha512-e/52nJGuD74AKTSe0P4y5wFRlaXP0qmrS17rqOMHeSwm278VyNyXE3gFO/4DTGF9w+65ra3lo3VKj0LBrzmgdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.3.0", + "@jest/types": "30.3.0", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.3.0.tgz", + "integrity": "sha512-dgbWy9b8QDlQeRZcv7LNF+/jFiiYHTKho1xirauZ7kVwY7avjFF6uTT0RqlgudB5OuIPagFdVtfFMosjVbk1eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.3.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.3.0.tgz", + "integrity": "sha512-TLKY33fSLVd/lKB2YI1pH69ijyUblO/BQvCj566YvnwuzoTNr648iE0j22vRvVNk2HsPwByPxATg3MleS3gf5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/types": "30.3.0", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.1", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.3.0", + "jest-regex-util": "30.0.1", + "jest-util": "30.3.0", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/types": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.3.0.tgz", + "integrity": "sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.34.49", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", + "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "15.3.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz", + "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.19.0" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/babel-jest": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.3.0.tgz", + "integrity": "sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "30.3.0", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.1", + "babel-preset-jest": "30.3.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", + "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", + "dev": true, + "license": "BSD-3-Clause", + "workspaces": [ + "test/babel-8" + ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.3.0.tgz", + "integrity": "sha512-+TRkByhsws6sfPjVaitzadk1I0F5sPvOVUH5tyTSzhePpsGIVrdeunHSw/C36QeocS95OOk8lunc4rlu5Anwsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/babel__core": "^7.20.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/babel-preset-jest": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.3.0.tgz", + "integrity": "sha512-6ZcUbWHC+dMz2vfzdNwi87Z1gQsLNK2uLuK1Q89R11xdvejcivlYYwDlEv0FHX3VwEXpbBQ9uufB/MUNpZGfhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "30.3.0", + "babel-preset-current-node-syntax": "^1.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-beta.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.24", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", + "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", + "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", + "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.344", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", + "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/exit-x": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", + "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.3.0.tgz", + "integrity": "sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "30.3.0", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", + "jest-util": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true, + "license": "ISC" + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.3.0.tgz", + "integrity": "sha512-AkXIIFcaazymvey2i/+F94XRnM6TsVLZDhBMLsd1Sf/W0wzsvvpjeyUrCZD6HGG4SDYPgDJDBKeiJTBb10WzMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.3.0", + "@jest/types": "30.3.0", + "import-local": "^3.2.0", + "jest-cli": "30.3.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.3.0.tgz", + "integrity": "sha512-B/7Cny6cV5At6M25EWDgf9S617lHivamL8vl6KEpJqkStauzcG4e+WPfDgMMF+H4FVH4A2PLRyvgDJan4441QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "jest-util": "30.3.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-circus": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.3.0.tgz", + "integrity": "sha512-PyXq5szeSfR/4f1lYqCmmQjh0vqDkURUYi9N6whnHjlRz4IUQfMcXkGLeEoiJtxtyPqgUaUUfyQlApXWBSN1RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.3.0", + "@jest/expect": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "chalk": "^4.1.2", + "co": "^4.6.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.3.0", + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-runtime": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", + "p-limit": "^3.1.0", + "pretty-format": "30.3.0", + "pure-rand": "^7.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-cli": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.3.0.tgz", + "integrity": "sha512-l6Tqx+j1fDXJEW5bqYykDQQ7mQg+9mhWXtnj+tQZrTWYHyHoi6Be8HPumDSA+UiX2/2buEgjA58iJzdj146uCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", + "yargs": "^17.7.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.3.0.tgz", + "integrity": "sha512-WPMAkMAtNDY9P/oKObtsRG/6KTrhtgPJoBTmk20uDn4Uy6/3EJnnaZJre/FMT1KVRx8cve1r7/FlMIOfRVWL4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/get-type": "30.1.0", + "@jest/pattern": "30.0.1", + "@jest/test-sequencer": "30.3.0", + "@jest/types": "30.3.0", + "babel-jest": "30.3.0", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "jest-circus": "30.3.0", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.3.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.3.0", + "jest-runner": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", + "parse-json": "^5.2.0", + "pretty-format": "30.3.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "esbuild-register": ">=3.4.0", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "esbuild-register": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz", + "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/diff-sequences": "30.3.0", + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "pretty-format": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "30.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.2.0.tgz", + "integrity": "sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-each": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.3.0.tgz", + "integrity": "sha512-V8eMndg/aZ+3LnCJgSm13IxS5XSBM22QSZc9BtPK8Dek6pm+hfUNfwBdvsB3d342bo1q7wnSkC38zjX259qZNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.3.0", + "chalk": "^4.1.2", + "jest-util": "30.3.0", + "pretty-format": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.3.0.tgz", + "integrity": "sha512-4i6HItw/JSiJVsC5q0hnKIe/hbYfZLVG9YJ/0pU9Hz2n/9qZe3Rhn5s5CUZA5ORZlcdT/vmAXRMyONXJwPrmYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.3.0", + "@jest/fake-timers": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "jest-mock": "30.3.0", + "jest-util": "30.3.0", + "jest-validate": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.3.0.tgz", + "integrity": "sha512-mMi2oqG4KRU0R9QEtscl87JzMXfUhbKaFqOxmjb2CKcbHcUGFrJCBWHmnTiUqi6JcnzoBlO4rWfpdl2k/RfLCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.3.0", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.1", + "jest-util": "30.3.0", + "jest-worker": "30.3.0", + "picomatch": "^4.0.3", + "walker": "^1.0.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" + } + }, + "node_modules/jest-leak-detector": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.3.0.tgz", + "integrity": "sha512-cuKmUUGIjfXZAiGJ7TbEMx0bcqNdPPI6P1V+7aF+m/FUJqFDxkFR4JqkTu8ZOiU5AaX/x0hZ20KaaIPXQzbMGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "pretty-format": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz", + "integrity": "sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.3.0", + "pretty-format": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.3.0.tgz", + "integrity": "sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.3.0", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.3", + "pretty-format": "30.3.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-mock": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.3.0.tgz", + "integrity": "sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.3.0", + "@types/node": "*", + "jest-util": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "30.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.3.0.tgz", + "integrity": "sha512-NRtTAHQlpd15F9rUR36jqwelbrDV/dY4vzNte3S2kxCKUJRYNd5/6nTSbYiak1VX5g8IoFF23Uj5TURkUW8O5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.3.0", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.3.0", + "jest-validate": "30.3.0", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.3.0.tgz", + "integrity": "sha512-9ev8s3YN6Hsyz9LV75XUwkCVFlwPbaFn6Wp75qnI0wzAINYWY8Fb3+6y59Rwd3QaS3kKXffHXsZMziMavfz/nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "30.0.1", + "jest-snapshot": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runner": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.3.0.tgz", + "integrity": "sha512-gDv6C9LGKWDPLia9TSzZwf4h3kMQCqyTpq+95PODnTRDO0g9os48XIYYkS6D236vjpBir2fF63YmJFtqkS5Duw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "30.3.0", + "@jest/environment": "30.3.0", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.3.0", + "jest-haste-map": "30.3.0", + "jest-leak-detector": "30.3.0", + "jest-message-util": "30.3.0", + "jest-resolve": "30.3.0", + "jest-runtime": "30.3.0", + "jest-util": "30.3.0", + "jest-watcher": "30.3.0", + "jest-worker": "30.3.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.3.0.tgz", + "integrity": "sha512-CgC+hIBJbuh78HEffkhNKcbXAytQViplcl8xupqeIWyKQF50kCQA8J7GeJCkjisC6hpnC9Muf8jV5RdtdFbGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "30.3.0", + "@jest/fake-timers": "30.3.0", + "@jest/globals": "30.3.0", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.5.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.3.0", + "jest-message-util": "30.3.0", + "jest-mock": "30.3.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.3.0", + "jest-snapshot": "30.3.0", + "jest-util": "30.3.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.3.0.tgz", + "integrity": "sha512-f14c7atpb4O2DeNhwcvS810Y63wEn8O1HqK/luJ4F6M4NjvxmAKQwBUWjbExUtMxWJQ0wVgmCKymeJK6NZMnfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.3.0", + "@jest/get-type": "30.1.0", + "@jest/snapshot-utils": "30.3.0", + "@jest/transform": "30.3.0", + "@jest/types": "30.3.0", + "babel-preset-current-node-syntax": "^1.2.0", + "chalk": "^4.1.2", + "expect": "30.3.0", + "graceful-fs": "^4.2.11", + "jest-diff": "30.3.0", + "jest-matcher-utils": "30.3.0", + "jest-message-util": "30.3.0", + "jest-util": "30.3.0", + "pretty-format": "30.3.0", + "semver": "^7.7.2", + "synckit": "^0.11.8" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.3.0.tgz", + "integrity": "sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.3.0", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.3" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-validate": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.3.0.tgz", + "integrity": "sha512-I/xzC8h5G+SHCb2P2gWkJYrNiTbeL47KvKeW5EzplkyxzBRBw1ssSHlI/jXec0ukH2q7x2zAWQm7015iusg62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0", + "@jest/types": "30.3.0", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.3.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.3.0.tgz", + "integrity": "sha512-PJ1d9ThtTR8aMiBWUdcownq9mDdLXsQzJayTk4kmaBRHKvwNQn+ANveuhEBUyNI2hR1TVhvQ8D5kHubbzBHR/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "30.3.0", + "@jest/types": "30.3.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.3.0", + "string-length": "^4.0.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-worker": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.3.0.tgz", + "integrity": "sha512-DrCKkaQwHexjRUFTmPzs7sHQe0TSj9nvDALKGdwmK5mW9v7j90BudWirKAJHt3QQ9Dhrg1F7DogPzhChppkJpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.3.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nodemon": { + "version": "3.1.14", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.14.tgz", + "integrity": "sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^10.2.1", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/nodemon/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nodemon/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/nodemon/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/pg": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.20.0.tgz", + "integrity": "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.12.0", + "pg-pool": "^3.13.0", + "pg-protocol": "^1.13.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.3.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz", + "integrity": "sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.12.0.tgz", + "integrity": "sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.13.0.tgz", + "integrity": "sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.13.0.tgz", + "integrity": "sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-format": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pure-rand": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", + "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/synckit": { + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.2.9" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "dev": true, + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", + "dev": true, + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/backend/package.json b/backend/package.json index 32d88a1..2183502 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,27 +1,27 @@ -{ - "name": "backend", - "version": "1.0.0", - "main": "index.js", - "directories": { - "test": "tests" - }, - "scripts": { - "start": "node src/server.js", - "dev": "nodemon src/server.js", - "test": "jest" - }, - "keywords": [], - "author": "", - "license": "ISC", - "description": "", - "dependencies": { - "cors": "^2.8.6", - "dotenv": "^17.4.2", - "express": "^5.2.1", - "pg": "^8.20.0" - }, - "devDependencies": { - "jest": "^30.3.0", - "nodemon": "^3.1.14" - } -} +{ + "name": "backend", + "version": "1.0.0", + "main": "index.js", + "directories": { + "test": "tests" + }, + "scripts": { + "start": "node src/server.js", + "dev": "nodemon src/server.js", + "test": "jest" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "cors": "^2.8.6", + "dotenv": "^17.4.2", + "express": "^5.2.1", + "pg": "^8.20.0" + }, + "devDependencies": { + "jest": "^30.3.0", + "nodemon": "^3.1.14" + } +} diff --git a/backend/src/app.js b/backend/src/app.js index 198c48a..318b4d8 100644 --- a/backend/src/app.js +++ b/backend/src/app.js @@ -1,12 +1,12 @@ -const express = require('express'); -const cors = require('cors'); -const app = express(); - -app.use(cors()); -app.use(express.json()); - -app.get('/health', (req, res) => { - res.json({ status: 'ok'}); -}); - +const express = require('express'); +const cors = require('cors'); +const app = express(); + +app.use(cors()); +app.use(express.json()); + +app.get('/health', (req, res) => { + res.json({ status: 'ok'}); +}); + module.exports = app; \ No newline at end of file diff --git a/backend/src/server.js b/backend/src/server.js index bb48173..9868c93 100644 --- a/backend/src/server.js +++ b/backend/src/server.js @@ -1,6 +1,6 @@ -const app = require('/app'); -const PORT = process.env.PORT || 3000; - -app.listen(PORT, () => { - console.log(`Server running on port ${PORT}`); +const app = require('/app'); +const PORT = process.env.PORT || 3000; + +app.listen(PORT, () => { + console.log(`Server running on port ${PORT}`); }); \ No newline at end of file diff --git a/docs/functional_requirements.md b/docs/functional_requirements.md new file mode 100644 index 0000000..9361a40 --- /dev/null +++ b/docs/functional_requirements.md @@ -0,0 +1,54 @@ +# User Management + +The system shall allow users to register with a username, email and password + +The system shall authenticate users via secure login and maintain session state + +The system shall allow users to vew and edit their profile information + +The system shall display a user's Elo rating per game mode on their profile + +The system shall maintain a persistent match history for each user + +The system shall allow users to select a mathematics or programming game mode to play in + +The system shall match players in ranked games based on their Elo + +The system shall provide a mathematical input keyboard for games in the maths mode + +The system shall provide an in-game code editor for games in the programming mode + +The system shall allow users to select other registers users, with their usernames, to play in casual games + +The system shall send email requests to unregistered friends that are invited, to play casual games, by registered users + +The system shall display a live countdown timer during games + +The system shall store and display the top 5 players of each game + +The system shall send players notification when game results are calculated and finalised + +The system shall allow players to report suspicious behvaiour during and after games + +The system shall allow players to report errors in questions during and after games + +The system shall diplay users match history for all games they have played + +The system shall allow manager users to add new questions to the database + +The system shall allow manager users to remove questions from the database + +The system shall allow manager users to edit questions in the database + +The system shall categorise questions according to game mode and difficulty + +The system shall allow authorised users to edit other players Elo + +The system shall allow authorised uers to ban other players + +The system shall display all submitted reports and appeals for manager users + +The system shall collect statistics on game engagement and error report locality + + + diff --git a/docs/user_stories.md b/docs/user_stories.md new file mode 100644 index 0000000..7354f99 --- /dev/null +++ b/docs/user_stories.md @@ -0,0 +1,51 @@ +# Players + +As a user, I want to register an account so I can participate in ranked games and track my progress. + +As a player, I want to select a game mode before I enter a game so I can play the type of game I want to + +As a player, I want to be matched with another player so I can play against them in a ranked game + +As a player, I want to enter a ranked game so I can play to try gain ELO + +As a player, I want to use a mathematical input keyboard during maths games so I can type equations quickly and accurately + +As a player, I want to use a code editor during coding games so I can write and submit solutions efficiently + +As a player, I want to invite friends to play casual matches so I can play against someone I know + +As a player, I want to view my ranking and ELO so I can track my progress over time + +As a player, I want to see a countdown timer during ranked games so I can manage my time as I answer questions. + +As a player, I want to view the leaderboard for each game so I can review my performance and how my ELO changed + +As a player, I want to receive notifications when a game result is finalised so I can see the outcome without having to check manually + +As a player, I want to report a player I suspect is cheating so I can play fair games and support integrity of the ranked system + +As a player, I want to report an error in a question so mistakes can be corrected + +As a player, I want to view my game history so I can see how I played in past games and what the outcome was + +As a player, I want to be able to submit appeals so I can argue against cheating allegations + +# Managers + +As a manager, I want to add new questions to the question pool so I can ensure the game remains varied and engaging + +As a manager, I want to remove questions so I can ensure outdated and invalid questions aren’t given to players + +As a manager, I want to edit existing questions so I can correct errors, improve wording or edit answers + +As a manager, I want to categorise questions so I can organise questions by topic and difficulty + +As a manager, I want to review game plays so I can audit player performance and behaviour + +As a manager, I want to adjust a player’s ELO so I can correct rank results in cases of confirmed cheating + +As a manager, I want to manage player access so I can ban cheating players + +As a manager, I want to view submitted player reports so I can assess the complaints and determine a course of action + +As a manager, I want to view platform-wide statistics so I can monitor game engagement, detect problem areas and inform content decisions \ No newline at end of file diff --git a/frontend/.gitignore b/frontend/.gitignore index a547bf3..4108b33 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -1,24 +1,24 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/frontend/README.md b/frontend/README.md index a36934d..99bcebb 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,16 +1,16 @@ -# React + Vite - -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. - -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) - -## React Compiler - -The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). - -## Expanding the ESLint configuration - -If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) + +## React Compiler + +The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js index ea36dd3..02fa75e 100644 --- a/frontend/eslint.config.js +++ b/frontend/eslint.config.js @@ -1,21 +1,21 @@ -import js from '@eslint/js' -import globals from 'globals' -import reactHooks from 'eslint-plugin-react-hooks' -import reactRefresh from 'eslint-plugin-react-refresh' -import { defineConfig, globalIgnores } from 'eslint/config' - -export default defineConfig([ - globalIgnores(['dist']), - { - files: ['**/*.{js,jsx}'], - extends: [ - js.configs.recommended, - reactHooks.configs.flat.recommended, - reactRefresh.configs.vite, - ], - languageOptions: { - globals: globals.browser, - parserOptions: { ecmaFeatures: { jsx: true } }, - }, - }, -]) +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{js,jsx}'], + extends: [ + js.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + globals: globals.browser, + parserOptions: { ecmaFeatures: { jsx: true } }, + }, + }, +]) diff --git a/frontend/index.html b/frontend/index.html index f94d687..9457d4d 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1,13 +1,13 @@ - - - - - - - frontend - - -
- - - + + + + + + + frontend + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 927f77e..4ac95dc 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,2428 +1,2428 @@ -{ - "name": "frontend", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "frontend", - "version": "0.0.0", - "dependencies": { - "react": "^19.2.5", - "react-dom": "^19.2.5" - }, - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/react": "^19.2.14", - "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "^6.0.1", - "eslint": "^10.2.1", - "eslint-plugin-react-hooks": "^7.1.1", - "eslint-plugin-react-refresh": "^0.5.2", - "globals": "^17.5.0", - "vite": "^8.0.10" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", - "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.5", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.5.tgz", - "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", - "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", - "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", - "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.1", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", - "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/types": "^0.15.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", - "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.2", - "@humanfs/types": "^0.15.0", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/types": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", - "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, - "node_modules/@oxc-project/types": { - "version": "0.127.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz", - "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Boshen" - } - }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz", - "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz", - "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz", - "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz", - "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz", - "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz", - "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "1.10.0", - "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "^1.1.4" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz", - "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz", - "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.7", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", - "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", - "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", - "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rolldown/pluginutils": "1.0.0-rc.7" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", - "babel-plugin-react-compiler": "^1.0.0", - "vite": "^8.0.0" - }, - "peerDependenciesMeta": { - "@rolldown/plugin-babel": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - } - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.24", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", - "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001791", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", - "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.344", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", - "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", - "dev": true, - "license": "ISC" - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.1.tgz", - "integrity": "sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.5", - "@eslint/config-helpers": "^0.5.5", - "@eslint/core": "^1.2.1", - "@eslint/plugin-kit": "^0.7.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", - "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz", - "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": "^9 || ^10" - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "17.5.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.5.0.tgz", - "integrity": "sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true, - "license": "MIT" - }, - "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hermes-estree": "0.25.1" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", - "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/react": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", - "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", - "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.5" - } - }, - "node_modules/rolldown": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz", - "integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@oxc-project/types": "=0.127.0", - "@rolldown/pluginutils": "1.0.0-rc.17" - }, - "bin": { - "rolldown": "bin/cli.mjs" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0-rc.17", - "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", - "@rolldown/binding-darwin-x64": "1.0.0-rc.17", - "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", - "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", - "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", - "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", - "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" - } - }, - "node_modules/rolldown/node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz", - "integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==", - "dev": true, - "license": "MIT" - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD", - "optional": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/vite": { - "version": "8.0.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz", - "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "lightningcss": "^1.32.0", - "picomatch": "^4.0.4", - "postcss": "^8.5.10", - "rolldown": "1.0.0-rc.17", - "tinyglobby": "^0.2.16" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.1.0", - "esbuild": "^0.27.0 || ^0.28.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "@vitejs/devtools": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" - } - } - } -} +{ + "name": "frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.0.0", + "dependencies": { + "react": "^19.2.5", + "react-dom": "^19.2.5" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "eslint": "^10.2.1", + "eslint-plugin-react-hooks": "^7.1.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.5.0", + "vite": "^8.0.10" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^3.0.5", + "debug": "^4.3.1", + "minimatch": "^10.2.4" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.5.tgz", + "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/js": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/object-schema": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", + "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz", + "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz", + "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz", + "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz", + "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz", + "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz", + "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz", + "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz", + "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz", + "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz", + "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz", + "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.7" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.24", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", + "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.344", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", + "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", + "dev": true, + "license": "ISC" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.1.tgz", + "integrity": "sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.5.5", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "minimatch": "^10.2.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz", + "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": "^9 || ^10" + } + }, + "node_modules/eslint-scope": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "17.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.5.0.tgz", + "integrity": "sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", + "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.5" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz", + "integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.127.0", + "@rolldown/pluginutils": "1.0.0-rc.17" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.17", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", + "@rolldown/binding-darwin-x64": "1.0.0-rc.17", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz", + "integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "8.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz", + "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.10", + "rolldown": "1.0.0-rc.17", + "tinyglobby": "^0.2.16" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/frontend/public/icons.svg b/frontend/public/icons.svg index e952219..5615851 100644 --- a/frontend/public/icons.svg +++ b/frontend/public/icons.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/App.css b/frontend/src/App.css index f90339d..e733e7d 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -1,184 +1,184 @@ -.counter { - font-size: 16px; - padding: 5px 10px; - border-radius: 5px; - color: var(--accent); - background: var(--accent-bg); - border: 2px solid transparent; - transition: border-color 0.3s; - margin-bottom: 24px; - - &:hover { - border-color: var(--accent-border); - } - &:focus-visible { - outline: 2px solid var(--accent); - outline-offset: 2px; - } -} - -.hero { - position: relative; - - .base, - .framework, - .vite { - inset-inline: 0; - margin: 0 auto; - } - - .base { - width: 170px; - position: relative; - z-index: 0; - } - - .framework, - .vite { - position: absolute; - } - - .framework { - z-index: 1; - top: 34px; - height: 28px; - transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg) - scale(1.4); - } - - .vite { - z-index: 0; - top: 107px; - height: 26px; - width: auto; - transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg) - scale(0.8); - } -} - -#center { - display: flex; - flex-direction: column; - gap: 25px; - place-content: center; - place-items: center; - flex-grow: 1; - - @media (max-width: 1024px) { - padding: 32px 20px 24px; - gap: 18px; - } -} - -#next-steps { - display: flex; - border-top: 1px solid var(--border); - text-align: left; - - & > div { - flex: 1 1 0; - padding: 32px; - @media (max-width: 1024px) { - padding: 24px 20px; - } - } - - .icon { - margin-bottom: 16px; - width: 22px; - height: 22px; - } - - @media (max-width: 1024px) { - flex-direction: column; - text-align: center; - } -} - -#docs { - border-right: 1px solid var(--border); - - @media (max-width: 1024px) { - border-right: none; - border-bottom: 1px solid var(--border); - } -} - -#next-steps ul { - list-style: none; - padding: 0; - display: flex; - gap: 8px; - margin: 32px 0 0; - - .logo { - height: 18px; - } - - a { - color: var(--text-h); - font-size: 16px; - border-radius: 6px; - background: var(--social-bg); - display: flex; - padding: 6px 12px; - align-items: center; - gap: 8px; - text-decoration: none; - transition: box-shadow 0.3s; - - &:hover { - box-shadow: var(--shadow); - } - .button-icon { - height: 18px; - width: 18px; - } - } - - @media (max-width: 1024px) { - margin-top: 20px; - flex-wrap: wrap; - justify-content: center; - - li { - flex: 1 1 calc(50% - 8px); - } - - a { - width: 100%; - justify-content: center; - box-sizing: border-box; - } - } -} - -#spacer { - height: 88px; - border-top: 1px solid var(--border); - @media (max-width: 1024px) { - height: 48px; - } -} - -.ticks { - position: relative; - width: 100%; - - &::before, - &::after { - content: ''; - position: absolute; - top: -4.5px; - border: 5px solid transparent; - } - - &::before { - left: 0; - border-left-color: var(--border); - } - &::after { - right: 0; - border-right-color: var(--border); - } -} +.counter { + font-size: 16px; + padding: 5px 10px; + border-radius: 5px; + color: var(--accent); + background: var(--accent-bg); + border: 2px solid transparent; + transition: border-color 0.3s; + margin-bottom: 24px; + + &:hover { + border-color: var(--accent-border); + } + &:focus-visible { + outline: 2px solid var(--accent); + outline-offset: 2px; + } +} + +.hero { + position: relative; + + .base, + .framework, + .vite { + inset-inline: 0; + margin: 0 auto; + } + + .base { + width: 170px; + position: relative; + z-index: 0; + } + + .framework, + .vite { + position: absolute; + } + + .framework { + z-index: 1; + top: 34px; + height: 28px; + transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg) + scale(1.4); + } + + .vite { + z-index: 0; + top: 107px; + height: 26px; + width: auto; + transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg) + scale(0.8); + } +} + +#center { + display: flex; + flex-direction: column; + gap: 25px; + place-content: center; + place-items: center; + flex-grow: 1; + + @media (max-width: 1024px) { + padding: 32px 20px 24px; + gap: 18px; + } +} + +#next-steps { + display: flex; + border-top: 1px solid var(--border); + text-align: left; + + & > div { + flex: 1 1 0; + padding: 32px; + @media (max-width: 1024px) { + padding: 24px 20px; + } + } + + .icon { + margin-bottom: 16px; + width: 22px; + height: 22px; + } + + @media (max-width: 1024px) { + flex-direction: column; + text-align: center; + } +} + +#docs { + border-right: 1px solid var(--border); + + @media (max-width: 1024px) { + border-right: none; + border-bottom: 1px solid var(--border); + } +} + +#next-steps ul { + list-style: none; + padding: 0; + display: flex; + gap: 8px; + margin: 32px 0 0; + + .logo { + height: 18px; + } + + a { + color: var(--text-h); + font-size: 16px; + border-radius: 6px; + background: var(--social-bg); + display: flex; + padding: 6px 12px; + align-items: center; + gap: 8px; + text-decoration: none; + transition: box-shadow 0.3s; + + &:hover { + box-shadow: var(--shadow); + } + .button-icon { + height: 18px; + width: 18px; + } + } + + @media (max-width: 1024px) { + margin-top: 20px; + flex-wrap: wrap; + justify-content: center; + + li { + flex: 1 1 calc(50% - 8px); + } + + a { + width: 100%; + justify-content: center; + box-sizing: border-box; + } + } +} + +#spacer { + height: 88px; + border-top: 1px solid var(--border); + @media (max-width: 1024px) { + height: 48px; + } +} + +.ticks { + position: relative; + width: 100%; + + &::before, + &::after { + content: ''; + position: absolute; + top: -4.5px; + border: 5px solid transparent; + } + + &::before { + left: 0; + border-left-color: var(--border); + } + &::after { + right: 0; + border-right-color: var(--border); + } +} diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 4f03aa1..c3859cb 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -1,122 +1,122 @@ -import { useState } from 'react' -import reactLogo from './assets/react.svg' -import viteLogo from './assets/vite.svg' -import heroImg from './assets/hero.png' -import './App.css' - -function App() { - const [count, setCount] = useState(0) - - return ( - <> -
-
- - React logo - Vite logo -
-
-

Get started

-

- Edit src/App.jsx and save to test HMR -

-
- -
- -
- -
-
- -

Documentation

-

Your questions, answered

- -
-
- -

Connect with us

-

Join the Vite community

- -
-
- -
-
- - ) -} - -export default App +import { useState } from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from './assets/vite.svg' +import heroImg from './assets/hero.png' +import './App.css' + +function App() { + const [count, setCount] = useState(0) + + return ( + <> +
+
+ + React logo + Vite logo +
+
+

Get started

+

+ Edit src/App.jsx and save to test HMR +

+
+ +
+ +
+ +
+
+ +

Documentation

+

Your questions, answered

+ +
+
+ +

Connect with us

+

Join the Vite community

+ +
+
+ +
+
+ + ) +} + +export default App diff --git a/frontend/src/assets/vite.svg b/frontend/src/assets/vite.svg index 5101b67..25ee512 100644 --- a/frontend/src/assets/vite.svg +++ b/frontend/src/assets/vite.svg @@ -1 +1 @@ -Vite +Vite diff --git a/frontend/src/index.css b/frontend/src/index.css index 2c84af0..7a1b9b6 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -1,111 +1,111 @@ -:root { - --text: #6b6375; - --text-h: #08060d; - --bg: #fff; - --border: #e5e4e7; - --code-bg: #f4f3ec; - --accent: #aa3bff; - --accent-bg: rgba(170, 59, 255, 0.1); - --accent-border: rgba(170, 59, 255, 0.5); - --social-bg: rgba(244, 243, 236, 0.5); - --shadow: - rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; - - --sans: system-ui, 'Segoe UI', Roboto, sans-serif; - --heading: system-ui, 'Segoe UI', Roboto, sans-serif; - --mono: ui-monospace, Consolas, monospace; - - font: 18px/145% var(--sans); - letter-spacing: 0.18px; - color-scheme: light dark; - color: var(--text); - background: var(--bg); - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - @media (max-width: 1024px) { - font-size: 16px; - } -} - -@media (prefers-color-scheme: dark) { - :root { - --text: #9ca3af; - --text-h: #f3f4f6; - --bg: #16171d; - --border: #2e303a; - --code-bg: #1f2028; - --accent: #c084fc; - --accent-bg: rgba(192, 132, 252, 0.15); - --accent-border: rgba(192, 132, 252, 0.5); - --social-bg: rgba(47, 48, 58, 0.5); - --shadow: - rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px; - } - - #social .button-icon { - filter: invert(1) brightness(2); - } -} - -body { - margin: 0; -} - -#root { - width: 1126px; - max-width: 100%; - margin: 0 auto; - text-align: center; - border-inline: 1px solid var(--border); - min-height: 100svh; - display: flex; - flex-direction: column; - box-sizing: border-box; -} - -h1, -h2 { - font-family: var(--heading); - font-weight: 500; - color: var(--text-h); -} - -h1 { - font-size: 56px; - letter-spacing: -1.68px; - margin: 32px 0; - @media (max-width: 1024px) { - font-size: 36px; - margin: 20px 0; - } -} -h2 { - font-size: 24px; - line-height: 118%; - letter-spacing: -0.24px; - margin: 0 0 8px; - @media (max-width: 1024px) { - font-size: 20px; - } -} -p { - margin: 0; -} - -code, -.counter { - font-family: var(--mono); - display: inline-flex; - border-radius: 4px; - color: var(--text-h); -} - -code { - font-size: 15px; - line-height: 135%; - padding: 4px 8px; - background: var(--code-bg); -} +:root { + --text: #6b6375; + --text-h: #08060d; + --bg: #fff; + --border: #e5e4e7; + --code-bg: #f4f3ec; + --accent: #aa3bff; + --accent-bg: rgba(170, 59, 255, 0.1); + --accent-border: rgba(170, 59, 255, 0.5); + --social-bg: rgba(244, 243, 236, 0.5); + --shadow: + rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; + + --sans: system-ui, 'Segoe UI', Roboto, sans-serif; + --heading: system-ui, 'Segoe UI', Roboto, sans-serif; + --mono: ui-monospace, Consolas, monospace; + + font: 18px/145% var(--sans); + letter-spacing: 0.18px; + color-scheme: light dark; + color: var(--text); + background: var(--bg); + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + @media (max-width: 1024px) { + font-size: 16px; + } +} + +@media (prefers-color-scheme: dark) { + :root { + --text: #9ca3af; + --text-h: #f3f4f6; + --bg: #16171d; + --border: #2e303a; + --code-bg: #1f2028; + --accent: #c084fc; + --accent-bg: rgba(192, 132, 252, 0.15); + --accent-border: rgba(192, 132, 252, 0.5); + --social-bg: rgba(47, 48, 58, 0.5); + --shadow: + rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px; + } + + #social .button-icon { + filter: invert(1) brightness(2); + } +} + +body { + margin: 0; +} + +#root { + width: 1126px; + max-width: 100%; + margin: 0 auto; + text-align: center; + border-inline: 1px solid var(--border); + min-height: 100svh; + display: flex; + flex-direction: column; + box-sizing: border-box; +} + +h1, +h2 { + font-family: var(--heading); + font-weight: 500; + color: var(--text-h); +} + +h1 { + font-size: 56px; + letter-spacing: -1.68px; + margin: 32px 0; + @media (max-width: 1024px) { + font-size: 36px; + margin: 20px 0; + } +} +h2 { + font-size: 24px; + line-height: 118%; + letter-spacing: -0.24px; + margin: 0 0 8px; + @media (max-width: 1024px) { + font-size: 20px; + } +} +p { + margin: 0; +} + +code, +.counter { + font-family: var(--mono); + display: inline-flex; + border-radius: 4px; + color: var(--text-h); +} + +code { + font-size: 15px; + line-height: 135%; + padding: 4px 8px; + background: var(--code-bg); +} diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index b9a1a6d..a3ca132 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -1,10 +1,10 @@ -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' -import './index.css' -import App from './App.jsx' - -createRoot(document.getElementById('root')).render( - - - , -) +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.jsx' + +createRoot(document.getElementById('root')).render( + + + , +) From 3cdaf9fbadfeb993ab6c8b43f3be1c9a008a7a86 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Thu, 30 Apr 2026 14:54:42 +0200 Subject: [PATCH 12/21] initial use case diagram --- docs/Use case diagrams.png | Bin 0 -> 114931 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/Use case diagrams.png diff --git a/docs/Use case diagrams.png b/docs/Use case diagrams.png new file mode 100644 index 0000000000000000000000000000000000000000..5f83ed8607c3abc60c3ecd6627d29d7221375314 GIT binary patch literal 114931 zcmaI72UwHa(gq3N)$||GD>hbnp0m>sw{kteJP-nRUU`M304ukBNqchD9H%V@^Xu zCj;IR@4`~ojv%D;bx z!IY)I6Ky{~FMKF9JM)`7~ty-8tE!1E6YLU;3_HzImP{s{yS-1WvHC0oHA%_fp^0Pkp4BC zqPP+Utl5=>cMrgOgBCt`(A)l^O~E>46@D+75rE!r9v3y*)kA#%5@^o{hL7 z%FW8h6R+cfCwY3Cp%e&y-gY`@+i*A;uIy#3qZFisRfMYsVhuwAG2X6NKYt~q@BqBI z3&Psk3Tvip3OcZ}*AMk15q0dsPzFXo$S8YTBRku06O0>K-x^`$1@*v$;{7n8K6*Ny zdI3RLG|JRWHP`~rZvyp_%MfxL9_P?s=-2PQ;;tfUGfh9b~LE_U9* z!AjviFdSUZ4M#FJCc3)#8>xoC6;y-49KjzfG#u!WuBwZVs{#(L?CPd#8Xn??#%YHc z>FJqxU|b3AA%1vQ6B7?Rk_(s?TFKtmOvxH&?}}9kP(|6Rf{$@3+NQpk5RxrS#mH3w z<%}^RnS;j`R-pe-j7zY;nKIncJ`@(N7;G1&qzYBC47Ss;#JixK-StB36+>(gC}p5! zC}mxusy5LTXXWkTt!RM3qWwWH2$W^GnRS?o85X9Bz`%{dK*KOI@B)r9cD6yd>x6sQ z>KTT@p>8T@Gf#{vHV}=sBM}Y!eNElmiJ_n&m?Fws$wOB$NEN6M%G5i|I)to@vDLRx zvC#2{DS3NhKr8Ua5)*2sXc7Wc$`=}rAYpv1pr(Xyw1q9&P|pToX{krnr*5@^t}jf1 z;2#9mh_WzoF~Hb`+9S+Otk7;2a1Ushhq5lo4C`WoGqfO>=%B)Mpx!}vBNuH$V;iWl zww;T=uZ6#jDNNVEg6v}K?PVSc*R%4%dw9DzBcO_QW**8a+AdIRn6ax7L0{Pw;i+wF z;1jBcS9T?tm|<{%9zcqw=1`MB5{6)g!q^f#?WvQ}CP5V~?JNyoVdi8QiWC-Zqe2yu zZwSUf5$gedY5ORInGsXCD{y zARk{CRTuRF+{`_VRqSytI)3(cXb%sln*|zWh4R+1b9U1OHUkBPdfQ{{t(5c?y_~&+ zObx>o(E*<3A?{EM9ao~ct%5HB{I#(#2ta$mOl`1!f%>5^{}5AUJ+Babf8}5WRc~jw zg^r&gL08FH#YDwb9|6}f!MT#`wOzDv_6oY@foNNmKyPCY6GOc~cQQFNKrzhQ0Ii^C z@1XzOhckyUMQ_;9?TzY@;Q6%K@pGKU(eK&>!v11QwU8{uW5tb;}w`vmCd zkSz>!d}is)rP3Ue{@Gqm=%@b?V#Gqmwj zRSm}mVMFY!Ozi?KE!@KV{h(&PaD+4UyaXDCcq@=mfi6~Vy0!=lL)S2@P7oGr83=bJ zs+jq^VtjF6v|tkhOD~eLudyM_&Lud&%3KAn=kI0{=<5r{)WzG_SXq(%a5l!qZdi;S zjueata<*1-_Y242a2`H7dd~JJf46XyCsxtSE8H9h4RR%`Dj2{}{?i|-Mk&Ywd}{~hWq}CR$GX~D6M_|dm0|c01svWO798T@8cGcI*E6?8!~EP`J^ce+ zVIdwS`u;F|l9IPcuqDaF(#qW5Ts6cjOogBvZlE0GOi;wB7}%IAhq?NNX=D9@tz2!4 zT)?bDFrf%@uyB|S9;d9VW8vzq47K(1w6r#Lv(WQbfa5I;fn(Km*GIT2*xIZ3n%emy zJnUhpKw}#pQ$J@_ShxjL#nc#~f^aq_8d}1wQAV~{1qEY0GLW(h%16%tr)r^K<>jSs zfgq?jhobBibdy^GN&@gj98yC2(Hq~3HqMQ{xZ9M{= z!R4xT~5dB5cC2UaACb zOAmsxx008xzokAYz{5mGn`GdnN;E=QdxQlVg4PHWnP6+{Z-;gXHFUuT2H?r=F1C7s zD%$1&raIxuZf@qTBrAkVfVZ!U6;)FHVL>WJVFqLaG*xlkfaZrPnQEI_xfu93+mmgL zb$|my1zY=>!=YYqD{CEN;NT5Osu&}8i$JRoXEQk3))@^BE6UbbF$e=C>1&e-s_x#Ep?`Y8F@k&Iki%?>lFmW1?b)!J7maS$N~TJiWqH^liL6{X@J%wF4Dx$o}B-06nZW9Aj;U zQ6cDtn7W3AV*QMW=rB7(5Yg6>=;iMk5at%>?u^mFdIsnK;G(PGt7vF$K@Qa=sD^o= z!Y~ScVfF~%RP_7|e60g)4FW7lP%A4Nl)rhXuPGK|rmJIT>l$L@73ykD-5Ud9kP6Dx z)Xc@(KP1%4E!fh`M&HUJzyfY+s7MU44A=FxRq_f6NBE%4L(tZ4aDS4DAJN%2h!A40 z5NK+lZ(xh2n%)3s9E=$5rUamcsVzRl8T71UhoNEzb5$xJQ$mBEf3e#>kOTkzgI|>} zjm3VkG&F29`a0T{VYJ`#>E9f;T3!Ds%zap#EyDq#1C6aRy?sI%BSN=(vM8toy{?^k zCx`(A-J@ zkqZT{-G6+}k=-byJ0TqRNd&55WMzIe?y%Y>oNbSDF(a1x*oR|gX3wRqZ*Og-HZGjE zc5?3mZ^cR8>s;c(ac;uU;JKcXCQ8f!r9FOP@?Ml@0`;44k)pz!fse|Pob%u3qUPuJ zbXjbJu4k``3)3=UwICe(J%gV`OLX7OAl?keDu@T(8UD{JEl8V|7XOKk8M?!^%9{d~ zG5_8p2VgKzo2&<7UJN#r zd+CZ&m6!93FgY^?@m{`E&YMD}TfQ*9ZIGwLQ!oF#_et^gkINSx+GTxht&}nBxAKWu zQIYofx;AVy4+`~;3l9fco_sW(#r+>U~**s~46bu`Ut6Cqwg!{Ox133t}voBZE zJ-UUlbj{tcQ@eGVA>aFz!JaGse6#$imR5lHVsq|(>Ec9VX%dgaiv+%NEfSQ4E<^d- ztQzaW?gxtJpO4g>(Z2ME)N%7Ei*40ZRG$af_Ja&;s~;<6Vwg;~6BC6G;1HEw_Pnc< zx@!#9-og#5QqoOXXMA!POgrewA2qgQ^zFT$_AX^=8if%H3Ei8Gb=PovNLrGwS2MXe zgU~&Aw0!d9kMw6N+KyEsw|%k*O2~ut5_3m*6oyKKN5Ce|O3QvIMYdEX$~S~g3A`&52>tB;%JF@zg>HV~?n>## zsdky%XU?33xdf%nkh$mZ+VjA(5Dg1|eGbIch+Yj@51(SiW)U`QXY|p{%sX9aYDtRC z>?1MY?SzdoE`a5v^3?4m!||Dp{x zRO0#QrGzh9;Jq$=vtGJj{#w6F`nEoHq$aAHmi~A~LCo$(V%z1_&2Qz?;dKYp$PfFFXKr1Z()@Jy<78Yfcdl3E zhpJbLJSir7m$`0`9hckSLZvS|V*ZKNrf0H!SvOh6b^>3it+Ajj73*oUrw7TFt`3cN5cTfqk#GsWpM zqO6ZP3Zj`NrVj32p_+VJMrC%|$mNKi)i*SCD7EA8#Ty4XPcL;REujpCzEnp@Zl5CC zykp(0&nxPeU!EvjiuX&cB^U`ZEw~hTt`r@a&To@1Q;J;oyNdL?T3EHw{bfDBO=(d1 z;}&5zLC_B7-Jl~9R<{kQmh$zDwwz(+#*V$p$WjxUJ&*gR(9MX&R(axFuLLj?QVcA1tDI(GK2Or+ybv2oWE*VmuzmWyc)XX)WJI$?$1 z+P4FS7RyGg)p8w2_wIgt%Noy?_x$?Wd-wK^0c5eaP;2?IgkCYE@K|2o=`tIn<~ZM- zo}XSCy4CTjLQ)yo3Mx(tVyxxB#7~KLSZ1*^j5fwRHZzj&%S%FjdFXnZ#^kyrkBmym z<=%rxT9I1edCb<`p#rvJPI)czwMa+rI3>9rm#dWfJa16iBSv%vb~&cDau=6N1q@Hj zK2bmYLB1)O-zS@%hnV0bAHvgYs87C#9*TDwLNUu)8d!Y$Wa*`EehvnsapC8#+qKDOdmblGUfF1Fsz;}rzt8SP7I)B3EITDtWi;Mnow7+1 zHeTFj$jY?1L1tX$oZ{_~Z*4p&%{?vFpsaBk?zG6u{1Gfrj=drP$KmAM`8xFH>`%vA z%n=ymQj^#P{X;)dl_bl@E(8v3zc}$rNxxus8{gX^pBAN?Cu-Q*E}%re7V6!J^f?W ziCmENcZTxS$_lkk!CHDD6Yk8>ue=2yH1aj;<15w27w%(+!iTHn3RsW+YDkZU$Q`V8 zIQ!`f*?sx)_-2nwn%VKgQhrX+m|>K_vHGjX6{4?(uH9qPkqxZEm5=Q#wvq4al^9oK zX!UMr@i4GGtzG?eW_gFZ(reK3s8_)U2^*ayc37$Ncm~1l)%>#|bCFvgEjX;%fll_F zOw-t$dH4G6xnmk*dCWiKxu3tadtyUZZtZH9RUUovi&*gspG5@c;doX$=T8n1^Fi;} z^(LP^_DJmIF4j$LcEppvUbo@EnGsuT;h+7`H6&sdVRn5Y9e4H`jw}U{3}f4Fs+3VU zlIy|oZnjKaO)+O8m|sFvpjXN9H-72B(q${PYVK`soH{tg+wdxMsx*gl0bM{(@4a(s znPuC{-|=hS#E@Z*qiK4o%D}Zbp}loIeRQz$N8(WSj%rg&C23hM>>rE8Q&xhL(4SIt zk)xfRkq?x7Znx@n+~#^0i;@2PmHVmL6Y-AkblFCu9k$NrD^Afg+E(z>8)%@^=PY!a zRW=w_n@Z=`7biH|3%)r^RY}poh;L7nnDR)P2zp~@c@T^5IG2TK<_Fhsg5e$Toem*y z>@VPJ-kck%1Rh4Fdh5sQjT)}Yn8JSJ)8>yp$p6Uw=Dbs8;UyVNN{7N;LFHbV=|(IO z(L*S^#jqZ;Kd3KNmqs(C_U-erZwm?Q{@*FnV_QvnC#Bb$oi&Z4mh?$_g=fW*YCcHk zS){yLcY7~h7_fAyaq^~G&)2+6jVtC;Jm1P|qfgD?_Ab8-ORAa4U3MNCY*#ud&pil@ z*6z6bB5y}CY`z$JgwP|^<9q+WMy3U;z)M}HREHHbe{)$kuTXQY831Dw=N_gRubrX- z;wd^?yaE7*k--=M3p_49dUUJoW!I6De}JeKnyst{96r{#8j>W*jP%wz+Y6O;&NBQ1wM|dO8MG-e?Nso^FPk?$|MGxQ8Aoyc^voVW=)X|> zPgCKzLn0k`$}Q~`8{_{$+<&mIc9BCaUqxBp>0*cf_op4_>3UwG09?0ZC>j1Y%BOy+ zrNYqfexCz??t7sQum26nLEv$ssF#Dt200|dH>rD<3U~hlyHA)F()Abspnn9w>fSMr z^8XoBi%jPw4%!M!I#EO$M}_`9VP$FB`K!R2b!1Zmh^Z(G&;P!SD-a!hvEP#^Cm7Wu zen9(QW2%Wd)%>1Akve!gSnOQzpD7W~LOlKi1wOqvg;ez%Sbmnic2`ysZ77X%-~_pk36??37gfIPeY+bdIL zT6O@8IyWj&77s>^o02FB{?CWt?Ti{2^_;sKGj*-%hLq0#3`vy)1dLimG5(|j^ehmP z^(UP9v+`9v5Y_AqbE;g`D&{o(-)KtH= z&vP!wOl`SUsr!RuVP2Z%?t0Mo$Bk1`eUla@>T}&`Yb)I|GChB+q;T9En^OTLGLC#; znSP4BRWjQKT1(8_&<&nZ_ALjB@av054s}Z|a;$HS>=pcYF_E@%$#GkB{>euT(nKoU zBx-BTxNz(9beFy7!|Q86!)Y>c2j(fN?ctpR_8HlDMp~rFj7c zH&y+esZnUx6+OY6A2nM)kiv`2(&dxd7d3Ym(@F2nv(MHu%Nx1p`Rnp&M24w>*t+883 zrdg()I@rpZEeUmW`a;=`1CcD_6j!T!wtK~`Ynh%)Ql)~cB)y2ue>695$GpcQ-xDHN zw1igfsk7*L83MgMBkDlyn`j2v+n(0!UhQ)%qy`yP)R;zSdz5~5wzSY>WOwa3XWH(= z=U&64%78des-^NGTT7)(rx4D34fvFIsz^Nk?0Y@d6>a$yG;Rg+^WsS- z$=`YwXTVueo5L{rd~syme;W}ku$NZYI5P2Taj*42HY-%#DLRAD4tI+mfbbrYu^*N2 zyhYWCc81Sk6RD&Wfe#5 zMGrUE@8QBGjYvWULGom7)u1Bwb z+?>h_Y)6)N?iPVr)2|h2uHhxu0v_&LI~H0!0KbJ}_ZnCy(qF#UoY-IZ5}$Dg|IXtB z5gkHX6`T<-txw^A5`4`WET&5PmDs}MHQZE$dBv5ZhWsOu%WXkj`jWQ^H_ko#5j3BM z>Q6Y=pOW9-^7?WANPe`pG%e!_8*K`(v3wV4cDZXW?T@wCvOb-x=*r#f4AvtQ;w&HH zvL|!X{xb&HvsVnQb5x1&U7$1y#pFe=6bs!ph7T+6t;_^|RKIaVbu?C2@gJ{qk2xbY z==j#&(h3qniD*V;T3Tc9)d^D;$hyt8%%7obTpomf<2?PC=k;TuBMW74b$%-T^NuZ0Ei2v>sH&+(cCdZ*i9RIo9`(HkfV@7gY-_19p1kR zre(nyw!1Oi9scd%jUiP)6IIn6;-8$}&C#V1^c!O`Sr~sq!o2T9(*1b#?NQZ$Tkh@U zkD8kEuYcC0-ik<{V+4&^qSfzRPWWS+_+n{xIchI}$-!cq)gOuGjUI%ruf9OB+yOrB z&};lXpf1=V*|-#;XjMQ;S+gZ9L03OI8@WD~ zLK>yS%>qViwqgJP#sX_Q!gZh2Zv6D{$=JT&zH>L06I|f0D(`|Fq;`Inaa7VU-kpQCl4fA`ZF-`hW9_O@n$((Kzl!>+LD{LuE=J=(bj zf$a!)J{1qkK|l@+Wh%cH|2#^s7Y0lIEaDUB0SE02t zt)&+2+p!4R<+M13KBrwRhb-e<`lCx77Ze{okuhvN-Q+3V>cSLAzv&*iSu7|u|MTT^ zL8R45?Q7o81|$k=A5^am&I0c9jy-UX>nktWmeY|>-f1o*h#?KVx|VtY5Zl(IrB#N~ zTKW1zc+UE1Z-SVu8yBN*78-zh z<#_GzWN6hTT^-i_LN!7{luk1PNLF5b>-!U`b0&e9(8T5aWqst!{+PX;WhVw{q;A^r z9Qv~}g-0ZD1$oC(qAwOcDmw6LAt*Uy#-B><#k5U=H5lgl){q~;aY5@3j(N{KIT|O1 z9J4ow`pXm8$I(Qy@0~CF{;0aoF(&HA-fXE-p$S<#n+F=>q#_x}G{x3Ro9%9z@@+gb z(mJhXd#T0sqcE}r?^C}$`n1oXWm>bmX4AvLy*`m~0~wFIcJ=XSJo6oXpBEy9waE3+ z1QIYIxKxeAETSxVyA(Os3LlBwK*SImbrP3RBYB~i zQAV5fklXpee-L&XmL}%B<2%hP7snw4J*!yQNd@Ub2PAhKBvOOiipg>apRM{F&?3Gm z4An05t=Vv^2}tl<$~oipVk}uXM|;M-t3-d}?a?U#uk-qpc$)VISdke_%jbFdxXxKR zKhh2b5{P_htwx36F0ibi8?gYx#oc39ow%&DWX1Tver8Vifre8O#Dv4$WHgRO=O3X0 z>}Us2RXVw_o3R$tAJG4p=t*taRy4=;^4VpHXE}sehAxcOkw+6>73-y&B<(VypwSWY zwslts-4NLx?dPcK_Cc<>)>BE6Eh=ND@4xyRP2S9>*=4IeA0yNFsXi}(OkbZs4`EvA z&B2wv5e68y%_fffQH~Ncl*&5X$ObsF29;T5T3VdBapW1ae51Q?H#5sIdgI-j>GGHz z&)wMMml!?o59RO9CPa78K3e!{Kbs9qZQ4N3xeH8GGW#Uki-me-3p}H%Ncnv!&O;8l zs=MnG?(6mR+K1zLjbt*?H8xK=iq}Py-o9MN#4y;|=>2>ch8{^;1KhUnt_R~P6Y4dJ z93dsGMD@(?q)$}gD?7^_YuE0DNV7g#n75XMW&MsxfQQ}|iGJL5C#bRXIZJ#+z4HL! zhA|z?p!1qlHmmxIY53mGujT7}z{`j3&e3n#v2~ohoo>(*Cmku>X`}S3vl&>sn({#j z5OXNRo$;+!iJJFxG`xL?O$}Wa%@HY{NIBRdVrN#z$+VVSBp`jlZ`4S}RzhDR!q~6v z{)rwb?l~UV6VbwIg+YynPKuOkNg#O0J+&ct)ay>ewJc=uJ53oSSqHqC^AkJk1nI~z zWJ|L()kRZ-94XpuVX!f_-kgT3vkiglLC)=U(P#3W)IWh1;%n*+4lfNcEptpA|4yhg zNTqTnF)vWU#oogn4sW??{2ooIrhW-M2#`k_YG)s^9g5T3+xR$pW@OX4A@i&LL2afl zQsUW^Ll!a?AffblGv0HF(Pu$9w&*>GW%A|Udflh{ikt^@kxc0}V>x#z; zy%VxV?*&Au1+oL1A^=iYRJsek=GJ>MkS&PNu085}|KYRo015mavvs(l-ai7gmt}I- z_`HUiGpTIQ1u||-TEzQX&@^9--wzWZ^}c5?G5(4&7I!M5JYlK;Nk=YW>px_5k8#QP5O+53~6I4?$8PYI#nJk}Yc-K?lkGoOgpsUj zPwWZGKdm_nPAv4?63$mwnf;^{+;I%3%KV5#XW%#?K%nal!axABdo<>Y1cZXs`eio_mLi0u~Fz zI@du$tM3UTOF4h!G;m|d&(Q~{C!^{xEsN|W8pj>A>AXOWTxYSfd*eK{*f)1ZBa3B9 z&Us8mx_o+Z*tYfN6%}f8%j*<=-#1s*^ZHn$7ZR!{5ayDEBWfpirZxBUBSkaw?}A*{ zU=`4?(gyA`GJVA$WSa$1W823a3jqj_W^nj(oBb`pX|d$qpa7tlZCkyO|1(l@>>B`u zH;$;Ubi9j99BrWT^87g7U1;qB&WeG;({45UMqe%eq5k)d!_*E~Fr&L$KXHwM5nj7b zSz%|L(Yj-({J&g4i*~}HuZ7#LokgKU-pc0G!q9bLG5SfK0d?YL)vt+r+yAV zK~iachyjRaodyB$=%$*G{pgE|P5|x;o=wr*#@jnz5O=$Kx;$ljF+C=ape~(>qp9(e ztEE2!IH_K7r=Nf?l%n$i5V2~yAmR>4Ih9_Ldv((L&Ek71s4}VD8vePo^VqF0YVFAD zI&h#)Kj>(HSf>g4QD`shyzEc^2H2D)$B1DN^S$b~Shh@&&&zGR)qKX8a%;(G-V6j* zS|+1)^g>2Jbs{(4!)vZ&*}3He0h;Cx;0`pw4xwisHwqe3;l&`aICbgOxsA6L8MWJA zu0#eDEU+XTBr}LkmIJ20rj^1|GXHmPG$SS1Ztn+FtnZFBw@4P+`Bq2D- z-#e3j>MiWi3x+vqG&()f7QCKA50yWr=!$iCHhI<1q>%pT)KR;&fxI|a)osl|!oX!h zX19BmaZBlu9pOAqoe%r@@sEdQW||#@R*Z#)*pWXJFvM3uTs!?B3W%?bVd334 zymrI5{_)slu(>}I6I?1O7IXz}-vP`c-MyVP_snD^>I-=~_;ul$8inx*#Pxgs&>HN5Hu{2 znRgaXu|ycNoy8xiKTcfjwJEiKPPY#(WIMv1aaWje{^8uHJ(?gF-$j0<)BHky>XIM) zNgu#(#~O~&s%{fQkoDDXXmnrlZ&T@;bg_IDn707(e0kW}+z+f$@h8z|7?h}%G@!^QH(0~cgPh_N6i&=gQ&WYK@M75BtOO9dYXxr zZPU|NLwf^Mg5+m^q!O9SAmZ$d5^d7njio)Xl&Zhn%CxH;`l9}M{4k7Q0|?ZmXC9fr zFUvxxj;Frv`?Db*QYVJT_yKIxP*6`G*s}h^;$Wl3*7s|E@x5Jf(PUBWqLPK6xHkq& z_jN#~&Ah2Dfgbns=GRNz@)u1E+8kZ4V9ccq%{EF-246}p`yhoJV;Z@6xZfo~^|$L$ z7NxZg++Dg++xqL)XdO5}Z!-GJBFyRJqj#4JOP_wSzkkbZjCJwSdgH~A&)V+!8+$cT zTM{c$KFuB%E`S8_N6{wJ<217mYC$4;dWT?_mHn*)hkuG$e0y^?-)4cXz|Y$gcQA!` z^ASiuv_0%$14?R7XRA(ejr|zOUgD%L+!=9P0H+Xk4iC)2{Z9)5Yk-#6x`UX?7IPfy z#NSqA3M;*4#r7c0X+XS1gn2k)b^*V8t^ZBH(&UE=qZs@_?d!?7bqt8*D?cmP-Zgz=f2)JF zJhO7J$mu{J?G#<+wSYE+`Ek>t%NumGOc35oF*>NNRNcmd#9qGEK!Bu^xb2D7ZLiK9 z(F?18I+XuZi~c`EXNL+zwTH^GZp<;l9ymX(0|@wfn(FxZNUnx9_(&dbI<-}x+9>4V z#HpSd0P4HH-f%1^-z-D@0=YXnSEeW>v+%_Ro>KXbi7Z`qyJG3ct5oiJHfr$;36G*g z{Ik;5WhCK{C-#)vx{bnK@KkVU@z1*F*+=7O9eE~{O8OikyqzaVH8Q#j&fgwB_bJ!! zU0O(A*WV@}5-NTk&9!zupv|-?{6b4`3sqsCh@677GO9`v8cvma`?Y<$htwI*+c*H| zXXgiHPLEJAt?=y7qY&X9Z`{dJxd=Pc_Or>mwz4h3PwArl65XG^Cq9b?1q(w0y@FtS zW%i+vbKr-4=PXc7C3^4Oe{}N)AU;=Cx^bmSACXE?-_DE}JZZCb+dh_dBz`!^nI_ZHC0+i;yzBHWI^D2al_3XfIUw-$I`)Ed@dUyj!9eb(vDK4Ll>Xd;l||`bJsrx96DJbJ-YY! zwYTP*a6`K@j<||Z;QWj;xuy%TNs3c) zXDuA=QJ8%e5?t=iKe%y~mU)j0EMFa0l+3r#o0bayqWaiV`827#s>@&&92Q*6MvG&Y zoqPWE8jv9>1t7CJna|3tEEP6*a%UD7(_Gkm*01j1_1UTq5pkTH+Ar$LKeY8C_cy#u z4Du1VY@{}p$jNd4P}uy$a^YSi6)7y0`z(q@=Mb{)ig{~V90Y_Ol|0pyUVI=1@r&pA zJlbcbzB~jHs<)!#rVNVyVJzDYf&{)FfQj%VPoBZ<&HKg}(hEiU)m$70kS}Wdi7oI? zkw@XXi>bbmVyV1J5+m8)Cyb1%tCZwd)vr z-|E$+^2mh-R);IXVRgEf??0$Ca47$>Hws@YTsPY$-CiN|Lhke0_I5nOStBbh##=83KrI8_?7A#Xr0&A6?kNRY17vfA3v*S{@~<4r&f& zB{etnMZ@Zv+W{`D<$G&gjoX%t&Wu~Qzi!ihokTZE%kyZIPQLy6BWkf}u-mg4813l{ zEevBMBAlNiAi9ZJq?UP>KfnZAp3#PGKb*tXrAQx_13&=sv36et{%sdEpO*EwS{+TL z{{i(rc;Ed`y19shZhi1r1ouJ`tAqM5AT^d)9>`a(bRomcE-1|X!@4a6*z=2p4I`ft z9Mo?g*v|&U;c&BEG7|u&C7-^_!a-DrNGE?tN&GChWY$z8LMQ#~VwGdlu80_Vm$$33 z5xCggpKVtNcFtnufN6LwZs!DFbGOS{jx{ul?*K6u*swAft>D$O&BEWWHS{&CAC{`S z^fT&bMDVZM3M&s1M{Nd}Wm@ulRY%I+)t2#YK|w83`gXG>0Eolv>*hpd)ydBp(DM?3-|?0)`KoZ7)GsR089 z#C!=)V1YG_+^z=fYBx2$oK_hWTG5SxDZdq5Y1H`s&fyW){@!J1!5J4SCM#xKyqZ`< z3RwpfT)(o#^LQ-?lnSy@fVdVL&rTFBcCUMG!^o);GpW1%aq2VaQT-RH&)VqOzqUER z{V;0psRKma*lEMmiO5jLXl-`<_;h))7f=2BoCv+wPY`5foj)a;jz9wOO&!#u9x`S1{lc%~<=yV1B>k9eunLkAvS{rmV9L57Y z-+o|)80-`$J2Gyg861!tcl9LyZ^kiSx!lBzCmf@>qT>kG{hcECy}m{+$h}t)VzTFKZdC|fJAbSa}Yv4S*ZaK(YUOVV{B!vg(2C9LN>1*AvvbuS;g(tpegM6At@ zymr7GbzPKxl)W|_Iub-h@F4blq&rxpdH7Fa^)Vf1R42$g7VmtT`cph%AOY3u`HV!grbfJ@9yR`fog}lg+8Gf1z1Y1=s=%fu2SmpUoA~WEj(LD7fMvv=n__kCkJ+>qbpxhP%_nzg$57 z>=xB-mA_ds7(ds_Wo;|6GsYT&{T@_9WiO0j11AK6I<#l0Wv#D3G}TQ-|2=mtq;IK! zLaLoE%?YUBgyO&EWTQiSdcW#1&RU`(_}JdJj9;i{j4xp&p-m=0y+!YS=v+zo|H*+< zkpFP_&7|zk+}Pz!Sv+=QvGYJw2lGw`5Z`N#i6Ol{uuU_3@}3~)_C$iRR~{*SFQ0uW zs3~9Me)3taN~flxjB98?mc=p`2*5P~YNN3SIQaFe0b<-w3faf@t1JFi zRJ5$m#A(b}HTGK?19AW)yDw^$HhXd0=1Dd>GS-_OA$snFE0&?|5>9lrOp$h5ZC5}u zy|(e^#2yH(g`6BH+p%QG^1&&VR-tS?XrYrs-FE$k?sZ>F*5HqEo?EQ)Xr3prPstP;6#kOhY zgo8NfHkBC|p-=em4&?I+K-l&OSrqrdNcn|CVZayq+ZyxhN004vIF4PQpICU8;7=;2 z8t)7(0XAYJ*C!^B*)sxOLQ|Eh*T z{}q;D#O)fegJtDg|G+qiCm^{=m8#p4Vgdq{x=kt~my*4X)t`vXubSv7&S3-~lKWgx zXJk?XAPd^6K-zGcpR9-gL4jBoH3wN$+v!=}xtrzl#Ol7w7O=%P(d2*GA#MywO&p-sgO(G*hPLOhV6?ZmM%O#*2SPm%jtqD;zVM3#I`~g8MVeVD-;mK zzOAL)UhQBfR_6tO7x_C1a=+PK@!hYK{e<+@l= zY0P+)hA&s-j@K6)^+J8!%BOuxEymNj!PrlAy2^0_#c$`)*{|Pl&Au1mNdg!kp67Yv z%M{?oiU9AcJdQ$pySC zwE&gj!Dqw4n>H-S-z$Bw^1iBNaOq&;FnYap=Jk~VzNL|j1Qa*JhISK|2=brv@6Zqy zl$OeV8m@?oVTD;N{V-X1a*!=;ew?+AS&*`=(yk8t0k<%KvVF-{Z`%$olS$L2dw+_{C@H%u0Uj=?bzBlTl~=oy>J_b zEf4lL$JnR$824|0K@WhHDvd6nAm_wPZx4Rct!+$3vMqTr-~??sJ}BxZ{!-P$)Bwc< zLxZ(&l(|D%N$m^=_qgjnPsv}2R(E}paS7Fb49T&7X6C6tS%W7qB3bKx+U9j=WMhUj z`paR2ylWbp!%rvjWavbmB!|4-91t?KyZsYMG5F`RzX&Ia!Qc(g>~qv7Mv<_wNC_>f z>~4dLTxNWwhaTP@3^sC_@0g#-*g`ol45%dr)=WM2$XjlvHx!@PKM%hXWj!i!w^6T! zQYsoh$zEAw8jy8u0GR0eYpznD?$vC(5JFvQ5h;|221@ zM_m!9>e1>`iSm&PNs18e?@t=$%-V~afPpAeh|4*3O*AfG^`=Z%bm!c~S57?Uv`0716 z3Ng(*>g%uQ>zJqD0AdWGA>wQm7wJxEfi4dU4`RAGZDnPU$jKjU8mC`bl%%J49j`<& z-~@J$&F-O)f0ZvoON`xCBa`q^b_!P1lPuBGBuX)$U_h z&o6&PF*saKuNq*TzXqznVyTruFZA!(azgIEJDHOFnO70v`aGi)UBkQdlr3*lNOT8x z{=esgs0=}742Wgc$WF?OL_Yprg5_bv7reD;8?XBOHiRnaztwCmE^OIKJ+3b&ajAX^cK6^VW?S=837i(0_2NhbttM$yA4{$I%I2L?_ zaqPZ;5ayLHLmiU_d{Dmq7b`FC(#Jn;H$y9*jTo+SBpciuYm8pJyhZPE_kFQU1oVHGPx{rI;rBq6yp_+H&pio#5F-Rdh5R`xMXL9boU$?9Op;% zSt4)?8=ZSRWL1A_tItQL_ZWWbTpSZy1v6u&wo{`#;D7q4Jz8_E)04p^PHO%cQl25ck zk`brPVIQ`mO5R-CxQ`vs^619Ka4+fX>rtGpa8ViuF$5x=6lX&X$#+HLE~x%oD9Q^r z8@tCgh#6<6n_?J1B-+@Kp-)WmmTxvf!0KK|oA29nV`FegEk?d1!+bV6qKRO6PFxLj z{_PRjLzw3MI8m{QRg8K?b}o;`kaGY2t!e=MS9OYTg&L)eG1QV!S$)|#v%(N@72*$r zGb!ZSBV(7`hIGQc845+dK4o=?`VCjqA?@(N;;w%3!=n{`Pf9m;pQ}Zb{hDVhIKC}z zu2I`yk<~Jhw_5Ba9PE*o&PtW%J!2>ComvnRkXB|oXQ_E;kncQ84N$vA>k^iQB&qC` zeb`u1H`wF+nuR2JaL2Z5TI1JCB*3N3cN^1>4t5qqQ;V53sn?`C%ILDzL8%s8b&_q3 zA~#Go*DYr+!`|i5D1nD=`5LEXrec3y2)dFX0$j4j1>kpN_5M$3cKin2GSd`~T^3>l z+xE**noj2P_q)-1!_g|1Z>7>NXIdTAOj~Ko5K3I|nWBb$+tMAvyqqwI`F zFUBuY>zb$qmL=exsQkm1Q#WV9O}_R7?mbX^-UTu&U95mne#hAb^56*d&6#4adpE#6 zqvChnN9HmD+9neKKUo-3RoXt&S-kw;I&Hq3;#Y=6Neo^Ui|_ewtRC3v4&kq2xc{`i zy)eayiC3`Rrp-D%GewzBetldIxUC`;hEY&^ydJf!xlA*4pdD^Mu^Z}2ctTHIQ1R&z zrH$=~i8G__?-p<=pLr`intDZ;lMgc?5R;wYC-|hW6kNWtcgrDkF-qp`UlBzf)Ak#yY>~^wCpD;jdvFcZQ@#XY1+_*_V~-3g-!rm% z^kMn}1E@d0#!--c9Nfgc03y($L;n-qMt^$Z4i2OMyRFCV>()1)9FNlQer}2I<}Wec z>sZdtkVMNd;}aHS#m*@u?z~`dcy~92?q(s)zY4AYF1D39TL_ACs-e7z1Nj1mDb7~u zY{#RV6I89yi~6fH|Ehoo%*UmzwKvb`)@kjA*gfHV<(w}DEat;PmAfjTCKZRg|YTBFC(Zv4Rl0Q4;ZI$Xzb5{_7jFV|~50#t-u zW-S8nX}Dk9-thph@!$%8dWzfL9Y)6{>@>mFwQGles{+0>rCM!bj5!n$A?wQ=?V^^t zLN<^$`+3=6U2>DXGQzu|_4}{cwPo*7f@1C($*_jkVUe8UekS8V$>X8l#!V@b*uNho z)L_du>)^Y`I`7qCHR|kf60{W0zZ>0)RWmEhY@kzRpBa}l{oe5tIGW`On@jPB&a%^Z!Cqb1>uykEPXB zJuRBFUg76t24(a%hC$&FaW&BnOjJSL>S5(eS_P_hU_{(=Nf7l|o&n_cP4u&V`WWJE z)asu1B`#+@QzBK^sQR#?qb)MO)-TDd6uw_A`g-3`FQ=9K8h3?f=29umQi|E3kkFw- zMn?COZtk#W8wKw2V(|_${X>agzs-wN{0oN3PhH!0fmNgD3Z(%|v9T>W!Lv>F-5DyX zkwIUW3p5)SvDfas@k-dR-F_wg@&#;zx`c;X4>z!1Zjtm8&Q^C&_v}*%jaO!!=;etmm$gtQ zP2nux52-b&iRiJAbJS!-R0RJ)LuWfaC=%cSKx%~5KCG^AD|`g+SNz*l);IgBx(nt+ zIpvS7*ng2k7vw~DF_ihexo%v@U+=&(60C$GYsGRJGXY-HA+z~R#MjUOsD#69{EwT@B(0g$mM5X!oO9QAL$5x*VAEkx#OtP%2!Fv49%1TgbXTlP_)$PC$HyiRp>QO5j zHYhNRVuE=t3336;ayoiDxqWT*HPDI^-~0y47zNPh8E zODMz^L=@*%*djea{^w&J&lH~Vs-=#Q8E-^-uV4NQt_QQZP<^k|GP^WqA450O_`^I^cbC7;eoZAp-v`l`$mN~qu-*mohu!kmpAi)UTkV79KsUhWTY|KS%kO@c{*t!`SZzZU6yQi< zL{0i$jwdVBPyZtI9*yPpPjb<7Z_?04;dlbj4M2tzuhLgV4r$FoNFjJ#2-g2w4fj6NnIh{tm#;H<%z)!tuIyo_(QFQnuFD;gTbCQju~!4w8E-h? zhggMKg0klNVkGd~4tZ|;Fm*6H{VY$~W1y};<_wRB+&=9wjBO657yVW+SA9yi%W@zq6~1Q2s=gw9_N5IGQ+2$?!vwp+4AJZ~ zzw}Vq{R7z?WkPOlMMFu=Tq=G17C}+X$|e*jeoOGFN_PMG0L3nNde$Kb_chGUE^7GD zmkkhCPDYNC!X!wdS-vvv=twH4vC{YHqGQX!bH2>HL+c7yPT@0(9Ws1Am30n73bRk_ zu10_WaB;Fr5a=4sRX8FjpEz%Rgw=JsSx92sPDXDq;jli)GZt2VEWY_Aj8}g!E=UN6 zD;^~g;%?jXP|jRcpupt3w7h?wt1QRFDE7904m;qUT1s#67^B9?0mRG!9*2F&>ZIG3 zJdv&q@9TbC>_1El8Do7gP5blh#bkMhN1`q(Z_?GU+Z3uDBFDmMq{>LzYZ*gRg)cNu zKR7V}#90Y7#QaZ?zGW+d{9gJlg$iHUTV$PAd8OHpZGE8k+DqMzf0m`X*y)j%md1VYJc26w<*VhfI=*xs1mPsoKk9D5I5WbXGxIRETDw35 zP-p5awhHU*-e`*VrkL5T3sq;b#UU=m%ap8AJSAGq7(vCH^t^(5=Bz>b@v0{-BPSg9 zW*HOpm2zKvpE`YnGlz_12-C~-Y?Trcs2ql}aijA=7T+#fneoj<>e7-+Dr$x}li1o|k-EShap- zGKE}5|0YK~+A0d^UBF489psYG458NGOrhK*Io#j|Ei?72O!FWosz=RvH&_u@Am=LKT?oz=!#$t z-n;1h={zZUPQ~iv1dv-a(}t%jw>E8n`Gy3ZjirOq3M&iL1jK|i>-ko3#5g}xr!akV z{1d19RP@`hy+=J4-~RIYUFuXzc`Oa&SyFOH6EPUD(%71jq;dnaMEt9%c|fL-H9u`J zwt85iMBBMZAS10qOF@n+XbzZ2{BM<7fv5D8h)R;1mVGany-07Z&(HU0slN!S2-%HD zE63x9ZnRqQiGF@>INC{z%kvkJ353n*N~0_GrvHo^37eAVu@-N}nz^?qWyb08TnEpA zw87e-G0l>=spt1{&o~c|_1K1+SJGMUCX_SdUAs9=|9$S@)N8ePO7rJM7HL!cDlSRd_!@ljE{dK@&Z+EJ zA4MZluY9G;;IHE9<5vJI(6Q;Pn_#<=)?$*!T~*ygv6{LGAyeY&;*SO!PGF4cG>-RI zD!g+t1b*oawze2XCJalyL$nIhsri=XOG~lR1wnFBPj7d&kg*Sv^*D!ouvLb{m5uw> z^*7Gr*PR+Yv4{MxaolhqHJvvQ*D+Z!yO}A8vR0$GDxjSvn?S1K)QAl#I_UeXmr@J3 zYX^yXvoIx^RZP?LX152qPJ9fJ~ ztVc0Xkh^(eE8~qbqyjQ}rVL{-+j!Y9rUeX!oMx&?#>O_Ygb3hy3d;K~Y|v=O5c7*l zE>s@0P;XqqVuTECH5rG@H_pMEIH-bTE<))FOU{ZRKMHhw8ObozjaG3)xG*G_coe|& z*t!I1T3l(KXa_N}04d3tv2KBwBavp|KFD7Bge|o~&OSN0f8i3l$)feEA)zCm3xncV z3a#%kgA8FMz*~A>TO$F*H*=xewR}FYpYOp6?!5_tJ&wdt_K`S6zsA(_xp(> zU8X$l_~AMPU}ANe6N7u?dYeOgt|&x!pundF11=CitrfWFQ1Fg#0ytaEzk?2RRw8xL zp$D|Gsfm>Q6EQa+(<35PyBs3FPVf%A7 z2@}cbZafsSDavKO74kUeuBJ>u(5CvtuIKqaHw6|i6l*>q5$g5GVjuL1?}(5X!3dE~ z&ocNx+`#H*N>|gY#ebsdigwx3Y_p{I;cXx(17lyl*j?Asm856uqx6kpWa90;3v&;j zR4{NkAvw^o#cMvUM^tvSeQozPCnyFJ-F6Qq zcuYFH{B)&5-yLeo!$;pDj_TV;t`u)e|HB8KXohTs9Q%DDUa9Y zz1T~z`>5I3H>KZXN>)u8^OQE3Zm2Z=gUVZ$ccAhnzL`3Dt%ZU3<9+%M(-W>et8W>Q zv?HVqXpN!`8z3VsbuXNnh0^xbSM>L6sy;p;`hx|`y*u1jc;@cN1B`fIuJOp3dr>uS znreH?G5ez09}^6w(nzpaopT)3B&l1x0dUn@e9>iL7k-A21U_$!dXK#y2_`ip*qp~^ zizoH{$QjQ*_0t@n7^4dLKn0aPLZxF7U5}>+vA2U}K7CB$sefV5K0%Hxvs!6T+hWGU z$&k%h4kON2aI0P1$0A#e-l7nVVp1_t(i9rOGOH%5N*CX%b7XvE9;{)~cIki!2LC?( zt{>RTr`*oKojA``;r6$!W0pwi9VlG+{5MK9L!6>f#by>?u~F2*%URrYf_{d5AScsP zpW()s@85kh`sae-#7od)q_5dM-P~i~G;QC)(e*%OzKaUM{lNdK% zKarny2@yR2l)hmD=V}WPU77w0Vi3Hj6;J6-xEvwX4jJdl0${mE9V6rxc`!mQ-bJa@ zB~Om^q{u{am9Cek`zv>qC1ojg;eQsEZz?KHCi&~^a5h+sv z>MNmo!tH$HEVfozlR}EuU-*G5<>ZiLrI3GXTlk%YlBkDD_LSzk+c}~m$jzl@l%pdk z1~*1BppY?KPa|=`UAVn6sEmH@IB99kyw}kfv6lXD*`?4y4y(TQR?p~$EoX<|SjTy@ z8l-?H*&6{|YuRN*Zr{{8kc!-U4$2&I#QeBLTk%f%WzYxqI#z4p1k9TAzmZGZG{ zZQkaT<&Mfnw3>QmQ`!E;i65q0Zk+xDF~Jzdl>r`QO;N_-9m5Ke%3kE}`M^9({X-hBI$7t)y_3c9!R4=^Y@#pS*3xQci_ z8RqA{vSU~c%+G4y*+sm1<7-!I)W@e8=~Zts7O#6CouSaRb2@jyFjY-q?#v~4b(=5ERnKubMx0V7jij*LwKIdY^rd=Sw>r-T z57YuW@%;q1uOjL3V6M%XAXlGD@G0KkP8wY#)-&)Jlj%Q&IV=HS*9k>GMkY|0TtP;Y zbT}%nUhlUbO~l3?PsG9sGoMMcPzlRpq+ZoT`E zUP%5W{~p<8*}d+D`8~U30?%b6!yftf8ueom_3g4J1uZ*m_m`e50VhjXz2nmUJ_e)mMeH9+^P$NA~RB>H- z7j75v*5?6v>hJ<(B?Hg8p6d}2H}wo?JO&sA2x&1;SISS`po8mys|0SJcC>B=fX0x0qwEe6Bp)_5S*2^)jiuO ze?J8lb{&_5-&v2`YhaoX94`6e9VhHI$xhFXT{Mz1tF|iW4fWM!SXUd}aQ4!sP3={% zXUKCsao26GK}KOxePg!e$TI9W^F%4D_06M(_q*{kmdWb@7O4RayQ zNCax2p(J`45!?Bzt!2E{m)CDzTBx_GIq-z4r*)Jjc zFe!H%arZdv4Qbhng2J{tC9%K)J}}nRp=4;jd3*)L=-Q1f`iA*^Jk3vY8PdNk)Uc+2 zU{Rd&<)gr>`93NtpX^!7p+@aZx~3<~B_K$#6zbGPqh~bJS<$ZWP3uktnS5-)wQpR% z2%4cDdOx}f)p5KH{q>Jt5z1;6)H|I&`ItL^aqnW5o%(gldXmH+x~hxFy$g-`AsX`? z)0`y(yEUuAd8E2DO?qcyhN9A;t`0nMeTM8jO=9nrhjw#$FAq0xlUDb9a+&tK(FcXo zBjr#cLnfUaK?CBtzHCL065TpeOdg%&M~T5zF$*H97#%?pAp@1_kbv-^7Eb~H-!lqf zvA5^@@5J7o(29)xy}Wh;Pe)0$C!OiUDJ55bEnaJ@q`i&GSB(XnEi5Y>0_4I1tz_-&km-%NYUL`azB;z#lxkB zv0`ND<3aEccJj#h70zSwb=f&>YNaZhC$CNlTUL3ZNq=XiaJ1WYgn`_lMq@8Q3%T52<9CUjYK-6EdtcJA?bTl!S90F_6y1Yz*D_$w`R zPkObtaP`gDlI8g`q}_AB3c8l-cB*oPeKb&1CsyN+r#`uNO>;(0ULO0#-MH{q{cj#m zA%D?t0ntBM3eIoWx1Z6C_vD!(B%}kui6HR0w_bC#ez^vGO8l?ZOTXlW{7;ymVro&x z;_gWlxSo$xv~+uWXozbzX1Td(p>M;4)F8jcx14)?daAHh6Y&6y?B9&wYpr#`^z$1c zy&Xdf9j+Y;=^&9hkXts_6kJkd{)=2Y;DLi;vz}icGi*>L2xiFT)JpF~f1qf}Pog~Tg z%z5?AE$jBLZ*L~S4F+r}K)on|k-)o95)ZnX$8A+1@0K}jjgE4H(5A0Vvmd*pusN>{ zBy|Y)V#JqO-+gu5xCGog_dp>oe1xCMgVB^*?5vx6%W>NRr>|0SElU$AeO|^6vI^q* z=(*Jniv)fZ@Q?i=xoE9R*!R@{GZV9Xdi{#HxYf-Mpxoj2r3$P4!5VNVELwH%tpmIp zP|BXm3#Rc;P4w{RJ~0><2^!eLNc7_>>Zc(|X3x+xp0e7-gfu)|oY@ankC~k`qQlN3VtlWw2b|#B`EHX zN0RjlE?(H*Mub@kIqXVl@k>n#*|1$rU&DYkoi6_$09ltSpNx1Ldgc?&dddeZSdO1o zmoh_@dy5Jk(%1rKY`VmG$`210NA(A?vlOUre@YQr4*H};m#PRemUR?)!qXZe#x4&7@29NLH0?*=7rFwS#ye4!L0@QYTyON*e*D6H zRd*W@E|^>Tvt&XaaulH-uP*I=T}7ffW2-{kCxm0A=RWY_wt8@nVo1>stU5K9CBMq1`}-BGn4$g-U95Y6hpS_W zY;wHcR~xWb@f=4w>-Z{U_QmNjQ@sGjV|U6zK!y< zad(UU;t_Q`OR{8z2k8SZGE zfJDs|t-Lw~F+HOxW`S%G(o4pB$3g@0kG&;{-oy^yiCWy=lg{uX@93xS76fxaSg~@I z2b>2|Ou9q(ds}auK_#Qy#^VoV_M4fHkj>BpGUnzy9?!WAW&MqoNkibRcJ3wkC%$%=a+4ru81Y~`&qlP=wAlc~2}l2uQ1iFk(pU;&eUFB^B| z(&bmJ3}PGu>tEf2n%AKg2mkqZkA^j{wMyN43=a%XMM){U#IClg{UVnVv51Mxb~Q>*q&x1s_xWu~$=IKX}9^X&7U)-wZcj3or0y zt-?kvECla_u6(jeS$oQ9Y6^3r)^E|tOh?=sKVmVWZ%?@CG`>=D!y`q)C(NqAjT_vL zR&F=)YbM?Yq3R>Ne*mE3$9C_=t3>20UPYAmeoe-Wg0&3j4$DHMm;{fP9w7yL!L{c_ zh0kH4sbXeImrd72H(4sfyx(f|L?>8g`*Q5K#)W>hylq=cMOLH)D=!Gf`I5vJ2p>Hr zu1`ii8A7%W5A$Q${5=GQm!r1)*;$Y5AKnDX$xG4){0P9aCcq0CO2G4|9q$BYWRvbR z{wU}v)C%M|pxip~D2Vf5ykcaL@_%aiQ?%*q=LvH)eDv)M-;~^bz+w$nhysNa58)XW z6?g4OjJ9Pwo28siLb@aiDqtH(HHE77Ejnv2OnS(~+^Yz!f;wtfZk-GQ@=s-dbTLxX zDfQj%_oP3)*Y!qKhc5_jb5}#0%rSrb5*-$-j^N~ay8=XV!PEA9#IBnHoVyO^O={*9 zWpJ(j&{RN%rjtIqy#8WqaonP=%_fT+bAhiYGM3#EQ=WVDZW^fK!%F?w#I89 zifQ7jk_}m55Y%t}xsSCSm|=&Y;0c{Dus)S<9llr2eqX-%Kk|^y8vB2Sl{<8mEu-;a zmK0j+QJ>wKRPa&O-Va5z;u#6X*>6t&q@35JT5)bP#(L;1#;L9BnKI?^h!Pxk<4h`L)ei?CIH*`y(bmaB$l!0{aR}&ET~p4wEhpt=cv<9q@#<$ z+*ddpKcxFvef&83S8?O5^6(0zd40GVQoi@h{#tfjm;3)WCEa1Z)sH$N4&(ppKJ}jN zCKm{yc3t&maQM3OMJ&)uK2``$ClvqmGw*FxA`W`bR^Z+^4`GRmP&*kmpC`52O7DC7 zlQV=8F^XU5pbF&O2an$llG!Avs>Qg_&Cb+PXP}^n+UUK+=WD1Uw-T?09PnQD*=BoK z636&J5|j?u_bsp*GLC7Dp#X*)N3o3-2Oss0?J9_bqSv+HJX9sjd2bPLklO2D7T3nd zLmT=9rfZO`Oh)bU;`EN}Z`e9YZ6;q;=CeXDj~S(S&vsuyG}27Iy3BV4%AqaCbmljD z!U!l5Sz9Ri^;&2E2yxo-kN7gu{ddd(^WmfG z%pb48i1%tzj&&!=oCGJ<%AX4zvUZTxE(O?%3q3JiwMw*Ia7e+Y{Mrqe1ax-SW(|HR@k;{3TW@e0seP$o z1V;W8H4;1V+!y+ZRqU&PGWNNLQJ%_rd+=!vB!_CLj%1=*ms;usi@S<^k=pE;RD>tI zC`1aNwZ7-G+raUX`#r95z_ud^ z%%Q_awD_N2rWxom)O$SVlflG#lkP8K?rVx9D3R7?B4E=EQ#=YaCcYUz zW`4cHqADCPb&qPEeVL)lJ)^$hssX}aQ)=@kniA8-LM^S-E8N4>SXKX=Z5)4Fih&Yx zF)4x%S1%HVbLMm3QB=fj@I7;7MozzZ3Ez8vhhe^jHUChiA~zJa$fEgKzaE`TJLgF1 zeuuA5st#^qyd=&RC`qsI| z{3vnAY^7u@TA~KATYKIJ4!@4lP^w`0`>pWLeUL8yD$EBX3@gAyPfufLpVdDt_u3oj z_*w91-V)|pDAs{eO331C)HiHKzeE^qd~*Xjs=u z>aMb;B z4!$4DdBSk^eCzY0lNV(OQ|h#D`?J#*oQ3=I@@|M)SU0j^se=+Z3vQ{UYzON2!L;oq zXhy?OOFaoWV<%}*ZRc*>Rv^<8B~8*#LKYEG%1Ym;J{|RM&5>uFFvRv#nn#9hQ{3Ub z(q(cIxbL{y73~&lBcD~GoaSL7zAey!mBT@w zSz$ZHAub*$z+}>FadWOwQ@@UD5-)s07e9~!l83oZp9-YNWLd6k2w7ZjEW?%t$uif3 zgf{Rb(bQz1PYLOz zx`~C$gOct7Y5A;vVD%{OqC#)Vsx5pst z&chNHpd@qBjUU9#ejG@Q`V}Bb#v3)Omgqot<91^mD3f~WFRyIV>CZp#`Fc841Yo@t z)*cd-J{oJYZ}r)6IW;UamVQe2DBcKLe5RpV7ofiDqE>Zv|CkEjEsARD=e&Xn-@+@0 z=j-$ER04S1D|~IX1Qa}5Yz>qgoCPM0N6-MMa2bzhcZ1RwOY_n-?XuGH@5LasEvEl$ zcaupzt1y|;X?jHu(k7Y}6V-5PPyMcofBpD?f+QD4CsZ|rM$5A)xtkot-alU6sNTt&a&udhmXN5Jy<6yc_*yW%tcZ@6_1r#L;B0_1 zUh4_1O7c(pEhcD^_iYI1@LfK3qRC?FRW#>zLYt86Lk#+7jZ>-9oJ<(T8ArQtVXtyO zAC*ciL7J$6*e<4=qSwixTIrH3M~=*`2IfEGxm#zVleP_&745?5ksEkO{p3Hp#>+Dz z$-SAwHdL_TGjLX%a4Pq3QUqrP%CnfYA3Erp&*8DkIT2vtOE>PaAej>q~0pvA!& zuq)3kk*%p9T0GBRh;Hnf1;?pNaTxdG)2z%G85fRyn)7}n>Yay3N2Yfx&oyngwLuM5 z)Cod=3`rD(MTu$BYZ3Rpo;V`HKn7~?G?t)^b4w9L-i^;7s4%P5l=wCL)tHb~A!5B) zS@xM`6~UjS=p5llE+{l4Hfuy``u&oZ9;sSX!{mvjf>bItJ0^#+Q_0&MM}(D9bqSeF z@2sulMx_KYaFsc{i&RQ>W*&1F!5PuI>?bbav)GEt3(6k~;y)c)FZD2X)=Ly{iz9bD z5A&3^P!OYEfx`FU?Y( znX;2Fy`$7dYT~Ne><{kx4b8l%U_78Fb_l0OW|03SD$g%JXm|4-N1qFIc9seR_t-h< z#yE42r+&;yWGC-uI3i^6Au2$rh06SuQ-$+JXM~AeWXJ%XE_ptIzJ+fU9bx(d^uARM1_^aOK zRUkW4&C?gM52S@#tf-}={dW-y25E-eH1V5c1Xlm{2mMCMpm#Q^`=R|LFJAj}ODQ#u zkjXB(Cu7>Kc)S+qE|bGWKLOqlq7h-Szr%t~uAXeH#ZCpixRvI)jY*(=_0Lmt z;GRR*gccwB1D#DTZxcP#U<<4ARyLIN6lb##;%*Y~epY{;+Q$HRxWz z49%KGI|Ycwgn#2@K7yle;X25-{?%>-xkn~pCzOc!MX9afg!Bk%kpoV9M7~o=~=iYljsXB zHu7Mvb+4$UJ@o&=c;xVK6U|bcfxJ#6F+V_rhtf>Jk!-@ff6WBYi-2}WRbmj=py>UP z<}`XuNvs?|*sh|!12rhSgA@ST81N$w0HgpQ0uuBDWIF{%+%sHQ_W?B9q^a>@ zsSI}Nk787oW%a@LjX)W75u{G($c+fK)vyC%(u#U8G>zlC2tA1=QvImZ!PgnAXCE{1 zy{Pg1e+p34Qu)aw0pV-2MIUsKlPP!U&_(y`Qv(mi*Y&Zb{z4o_4h(ByiInU~|Apyi z`7z)?cee$&Hi!?A4o=Y``1}WXX(Ld(9aY+$p&MLLBahItEcyUt%76F-f<~Ta?nsOa zdCcCRz*(AKJJ+Xv#QgVFtgKD0>WcpOQbUwmCuNe0QMtkR7#4SO-;BqB4_hQtv=iun z+Pk*~9Z)l;bP4y8sB#_;SCh3p<dX_ z%fUnfl4aSB7>eoS!@^v1db%I!pCyTQHYv z4j~yMEX)}UU%+ntpec@a1q-OL84IxqJiJ}OCO{C*rCQ>AM>UQ#j6+7kRQ#|-V-&*a z7623&78G!qeypzCU36i}Y-Bfr+zMEUO0Pb<;|FUhj>ilfdthC)4Pl-!<}aIG_Y@wE zlV+6IlcWE&jlzpqXoxFP^&H(m|FXFGr@u*ph3>}{$BpBp?&j>Y0&AB}41MGvER(K| zm+Z~Cv9Z{r1r~W{f;io*Q6IsQ4!f@}>yd_Js@{GoNcro*+)H$sWCSF5n-RzR=)rvr=`j(9ij#e#5~|Lxgmsy!>lcT|Hh zc&|Qie9Qo5vowNEZNN2D@P*~g^R+u5sFYAgNC|f;-Jk98d>nek3qQzla}G)CO;%RT zZ}~-~&b$_|FlbBwR(&GJ5v#_TDDS`-sjlxlBOT97!#bZ(;-GWq!L7aq>Q8=QB>c)NQ2BGV@YYRQmqYL0 zhyySCmaWQMV+ln%l6d-5Wc>vKiGtINQ9_k*lKw)~|i~f{`bmUv6sE;`z!wd>Y#j zw9XHPIs#Z~|3uaT6}6l8oiu^Px7Wc`R0BM2>`S0CB>kF1k$y(k`~Y4%;KbPtM8ZF3 zTIPQAamIV(gqkX2<^)rcgfB!^@tep3eF(~cwqm)qyn}39L@X!A!vSyz4F2?oy zz8eWMyLL6YO}|Za9zfSi@o$qFY({+ zfrpi;zuP+fB**-7 z$`kB|$)T$zr(+$h&GO73YFY4nrT2p*H{xbrDbfO8;qAjTO7RKpK#-%jlXHOL?@S4z z%Ad6P#hA%ERe#Ky76A8>MrK$OK)pJRI=YrXU83U^^i}du2t(^=Ln4|TdM!ti{oyd}8tLWJ3sQ5jtLmCIwc0ncI zEZ!M)EZYh8w2AR6>$dIQ)z0UqJR|p2u2v}6^5gcB3YAV3*z{bytr2g0d>Jh1Qaw^?(aY?eDBA4R7~W%ucsI?mv#|O4;#H`TO)~YIy|jYORnbydog|9 zM5j8*>my8wg4Tf-|AtYJMn^;WptLt_W76)%MQj_f8uOu%9u+gacttr-$Y!OtN67rV zFH$yBBW7OXzW^{XWR0pRBwawQei8WT5U*kU!2nR9u- zwkHdIFZ@B18JCV$-mgxhy&wI*H|CK!JmV`C!67mSY6XJG)~B^(XHQ&uqM1B|7}qQM z^2p@K<4_nJq*DFNm-W(6fMjC zDdhE*Mf_ZYiAN?G^mNUBP{~Y1aeA-Mdi2xi$!nX~;SOEacV}OV|GUQt?8iDO`f$DF zV7MhH6WWcKtq+3Mn=n>K$;1e8K;#s)0|b2{r?5pG#e)fAHaf61m$$>pNOE{A)xdsp z-%=e=JL%g||5%uD{d?c@j8`)YUum4eg@V1X0@or4K-73uBi{QR!7z|Yu!C2%E2kwG z`stWND#X&4J(9N^W?UUC%k==)#}K(#tkb3 zSk6K|?n=X>1%VhN-zwSp_c1S_Gndn3R>o5VVQYZw7m;BnfUl}04LtJ>WE)<0Ff7@> zdh!mk+SSJm)S^~6riBiwzy?WqX&EY1pms?s()rnvH4~6npQuZ|#t%kJn1B*eXLVlf zV4r#>AU*uLDMg)u#yS@i^#%E|IC7{y&oVHacP2>ZzMu#hWqp%)TFsN%!#bT~Q zdW@#Dz^oBQP(&Wa@|d+)!LpxH?<~Vfk(}29CEi<``=-@DAJH=|gFx?S*M8Jb_JKg9 z-d^Au=f1tkj$hp40Jj1Pt)ZS;N)XC{e8Ww>!BXy!=#AmVH@uS327P-3p*RfrO?2hu zI}KKt;osXmQt8Nqpk#xzLn1GnZ#`qwJ3qrpQ5^zDsEi!+O0|j6kT^v|yhkmkf;$o> zcafRO?!}O1v=C6av#bf^uqhcJeOE<&y}Z8Bdjo|!ndLLS4dH?;fjIuO;KG#9=Nkx| zc|8g2;CW`UGj*;(Bw#5)t{>1Qa`&FX0C(lREi3L_WKKy{puk>S&)$2{!O(<)kOYH; z^;St-6GAP~I-JeF&}bWqlq--#@%1y@1SP*F3Me)w^dwj=f}dXIJ&K1{bRt)acw@Xs zeQ0{Q&A@DOh~nVJ>f#g0vw6Tm5#LZJHQkT9`P|1F&86+eCTLCx5n7T6tu9Q^-)!#a zfF?^9+N(N4iF2wX%hQN8Oip=ec=?HI5$f*ChvSo9@4$J-I};b_&G2bj-YTO%G^aR{ zZ+-=vGT`(GJ2rgow}bcEg-hNPljlqhJV{&%@K{ZgU-`35bM698SnSy#`DeoL5sUGy z5>jOeU*Z{P2$8q1x)h8Wp!+FPNu`~R&D1KjE;^wm$TfF$q%?1uZk&%mVz>-AsU@FI zFD4YO`s%Vkmtz%TQ+jhomBo`e9<6ZM5%-s>WS#p7;_z1m62X4l4I(DCYhY@h5_|b$ z#rO4`exVoc9%! zsCq-yc{U($UuyfGqxrnA;v0g{bUmmnOEsSz=x{zA*YPsAuQ4y!{^?UlwMf}r2AtLQ zMg8Fg;3nV@nF@aN(CZ8cfF>yI_7QdI?wp0Vd;8$gAMZD}DT2j?a|4?w2d|^3QQ$<_ z(Uwf+xCA9?LS}#dazQcE_c==%u#*n`Zg}zUF|3wKj%lJa2zvuZO{GDEe9B90ELbjQfCWqY90~hy&)n7?Oq33t z(r!{?kJ2;v4+=dB2LEBy^J+6>TguWHZUf^G}f*t9af zvC6v4tYP^0w35%r3yRXAhL`0BUQ5@3dBfaVSb!BHubFDD`T(-+6wJw2!Z%1rb{PuR ztJl8!70+1G14Ye$!idgT#oI(o2i$+acD@xys=00fp(WQVXlK63+gxx0`uoPJ)?ZMT zy#mL;g9n}Z5q-!QFA**|;X_2F29dly2qwI`6cc(hb@6+d>Y9SAPChSGuF(Ifb650XcgCz)~pQ5BR3B;}+E*q2GGlL$2 zpm0B{bTs?FvxxvVNg^~^rKXGKL0c0Bad$lwLXnU91aK8kp}wKuP-^7%tNeEY9mNh^ zrqE$GdqTTe_|9em7hF_It#NZ=%9oUQn_%?xMB#b+3vbgspHMi*Ht+h}Y}fp{NFVL6 z?-l>hWMIFtS4T-Yg>aE}9~_k(U5f~_`UAZZ` zRXh}mBWfTM1_eps`oLSNDFM}C5(20xWRl~MX7wVNQcu7^q$QYJq$3T6+8yA#lY$ta z@ZZ$BmhWwEg&+r#o!c1ZI!^2V*>TWTMtL%|&_~7Z!Q&GA+JJ9g?*3a-If&|m9|OuO zR%@6mqL52#T{eBrd9zzJ5Q%liiDa8F|6`7jnLr~--HWs&JF82LJAEI9?0h_YtjW3J z+vw|29tW@nbyq>+p832`yl5A|k~7d($f#oV63SDol5Xj3t~P@3@*Mp`mY^P4Ff%n& z0jtmeFOO*=AADRMGsjoK z5LAvx8)#+4l-mwIT&t*{&i?lD-;SlNd!>IXZNJa9K%aO3%r7JRslR<+lN7f$H#$(S zLWG`)U3q`Mt|A-Ska@4|@SQBvuJZPk2c44mKz z9(wBFv+hytx73L>IR1|(@@{K8BHTvwxN!;4@%ikzFI33v5wz7bPTa5aVYRp9*9@WF zHprs9qGkxD=wI}i$syqEM0;12bILdbflQcBGRm?y}^!(iJtG6`(|KJMk% zu8{7mL}*Zox8+qlhyL>Xt8x0Mb;vG!~%*^gT5jl8#oPeKleBGnFZJj&HlPdn_ zhcH1#kYk#>4C-(LU&M|~GU3m%farXNm5+Bq;nE`QK!IS%@v$r^9yyt%9S8J+cY!e@v6?r+=Q z(;T^&-oKFkcu`dmEN=dfzcqpa_4&}84d)~u;s5h56$w-5GEY`rS{z?XrvbWhiP|oE z#=)L?$K0Jh+J6=(yq8Qi!Y)z+W0vl(^h&I!I@pVkVC?6z8SNT&P{N&c2J@g~pZ0{$ zZiSZ(0qHUUQ8zd;ra4B7m3Nt3k1>_G{{G*lxcv?Rxz$c?iQ8i^#dvT=y7pW24dkKL z17vJ;T%JW8hTrJ@-vbvYCiPR_EwpU@VRDz31@jYR?G!pMmlBOAxOqc#5Wkm6_TT(7 zb^cr+lZK!)ON%g$++gNO0#{F2i}p2ShhmcWYb6Xb0PRT`BnoeY6oKQs&BQfyDo*3LQ*KNa>)Y>$Owd$9hejtxOp`G8 z6yzEdOZo%1cIy#1os8Nh`Q_>nBVy{&&!~m6Otuy3QT^}hL8%?J^`ktVDnmfwr8wW2 z!qt(^avC`{#jbuZApuAF(*iG1056zcaqGXogvRMq__jN&D7YACII8g2_2MIjuZYDK zr&IaqM-}v@6{y!kn^bz|tB8NMRlH264MYtXJ1OA^vC#6z_te%)`giQrp%;^Sv9u&;f@ zegV&r%qX|}J7mS*q`gMluS=VV@FJzbjPiqwwRP*C5pFxA#PDt=Wb9u0L4QGPpkD zS31N5(LNG?LZvngri2dO)?tO%PpXgTp2ENU=l~-1-}1;+zLc({efxhD;_2$}z$BRW zJ1h=(Va5E~wpG3xbS@h{8LM%fcagug;3r74@Mm>gXZZI2$n(VCPEnk!_wUh-Iti1- z!mUXTYt61W$~IFqXDXs?+fpoVjSn66hLn~QVAq|&y74&!J{A~}ruzQbf#BXBR8wPN z!3D0IegA``iyQx2ASGq2)gg+h?YPo5OQ~NT4!~~S)cXJY6qTF{VKMOD=c=2E*VeGy zAq#buI3R**_GmAn8R~yryCbCtF9m|yHeG$_I&ArrYGVD31@hg z7gwV)j?wsAL{cnfX+6BJ?IwoZaQiFod@yS_!ld0oOk_V+XxUGFpn7}xO9G`qJuaWf z{h4IlnTtm`zqgz>3&cqCn*Hy}fNY1i&9G{ySNmSi9-gdE)h=Nd3JJ0$X`Icp7=!L- zU4<(>Ab+1JKtQrnssFb**`pDE{P5gP1gB1$zhiL!Z<$+*16XS`9dSADUl{slo&wb# zx&mDHo7y?R|4cjdYg`juW`mE4rEt-)|8vWMU0^a=F+&=>s2C#g42eG%#P6=)0o!Km z)*?}i+q}AOK`yvBS~4s9--^UvykvjsB{}sfMkcwC{^~z7e`jw7_b%Z$MSaru&Iqyr zj--uaEpnkiMmkXXdoKBTo{kJM8t4`00WC+7SB)E>jyFMHrfYG5=XCa;`M>=*({!Te z2sJdgP0e3G!6rlB#MQFo(RwDQxNYacRjnr8whXNlgsGyI*Tx9ipi)?$nUgMz`=23e zTM|0MG1WPKyLl<&$-%5d+h7+*vQ9C1H z*Veb(NPwkGC_!)Hw%5NGo}R_~l2vb!QD z%7>SLyXn{`ixhKf`K`I!Vfc0Q+fW`<}Tx;SZdI;`=Qm!AY+ z;@6%vxqKb7E?s@QJlopg;;*%Y74^o4{d?p{m+~L``(Oz6%*9`@m%3ZGF_3m$Lu!#c zTYvl}vPlW~xA@)e`_%4)0tZ#i+~DwU#~ei78O|x4^UBcl@3v;E{Mxlki^>8AXLu9c zKsdv8s-n+_UeAc8^T6=DUpWA26TszuDrx!vClU}xnr0Lh=WQG}=PI5sKgHJU-MDxuLMTvJC@b*(^|y_fnQJGY3?H<$kV70^ZYP~|BAc-U2XlH%K}B0p+q0T zYK)08cR6IZbkmuwf@JGaBAwXCmIE2`8%Y2<0D(d}HpaBqDW>O4rWV(N%3iyWhV(;| zVs}%wP`ADLtJ%k1GWFgt$!B{$6F_Tc5UivfF?$as86Tfe~-dq9_o5UR56ilc3e+Pud zpAZWPIbZpUkq4Illk;p}*Ao<;XFsf&0dM`^@wxM#u_~#L2$?JmtwFho=EVQ}1J;mT zO|1Do{~uf59f)=N{U7e^qKGJ?WM*Y#ugb_C6_TAjviG``JekSfvXx{ukd;v=$|@0& z5h**FzjGN+eV*^{zo+NE-S6vtjdPvzIJ`-;P02|7Q(4O&PC@fh_3{`sPvrr^C@;a35wndP<=cq z34gNgKeHephBLG4mAIg87Tio_*ngioX@wiH8{S#^fwz&gMQ?L|@6%l_%=S5Rm50|E z96WqvH=GiX#Nqn$W`oS|I#n3E-Ji;r#6g;XyVJ~t{A<%0iiNmy_vFGi)PEv6 z^BSF|6ndL*X=%E@x0<>!a)3y?f1qEw6d2(9_u^*sAno=gf1G|EK;<)H|7X>uZ=zjj zB&6)htj>Vx{*MDC?FxUI&u!=(FKvY>{3`{!GctbIX=m^b@+1WXxc&XaZELd&pFFNMie`j;IM=s4w^g;VHLVQ}?4L|)ox8Rwd%&0hQ z$p}+SJ853YV#P;CX$>fS%Qp=NaNWixs)$Dw2f{%MWuz#DZjROPTcKhk=*2D=xZ=tpb+46!o=Q~oCgh(Rq0?qn41 zphl>4XX+2EoD>U(!~8{A|IU6GBQFmBYjCN^`mhR}6Wo3`R-8wF!wS-#F#RztZ?2#r zdfg7l+Ku+M-z`HH!6i}09wmbBw}xr|gAt)`PesF1SF3rfnXz)r8J~CF@!uW8aSjG7 z%iDhk^FX%F?|+sLigb{8{UgsIy*_KMKgsLeS-Oo3%n5s~4UPiy|NJOSr!{(;0}sZ2 zS#9G*|M^0obTk2H!@1qC^WSrfzC{}$-G@tcz#@(K-?jO7u%|lBa9ulLz;pwcZTxy~ zWzjES$5}F5fkIK2Io)o%*9qX?pO#Rnd#4uwGePz2b<*Bi?wu)T+&IOIO_;>|TJKD` z{~4=v7KOS$fQg@A{#}mUr`y{SJ5TOmG1`JTpGI54>({l=|I8nJ*%eho3=W+{Vw`&$ zG2b88dS?i+EHK>n7iM<0?9O6tmw=-&Tup=F#%-}eVs!VZSFr(ScNd;E96pq*GM)O@ zNs%B|C)oSq1JvOq7UvUU`)$u&4ten(Tatis2sEA^yJpGqAnw&a^F^BiAL7?ycQLt& z6T@tOO-KbY!%wQ|b`Z(jL$iGHSXLS+R%C{1DnI(IF@bB-!s;-_TgAd<0 z^Hl8i1^Rc2a)>^pV?duBCzSsD&$|ElVc3D4Ca_B{!Bi+Rn@Q~LgYB1sot+;A*Lpc@ zVS$-PJ-mN^>avTWc9XzUmz-Ep=bHTe*n%_v+`C75z4Kiyb|oE&3cy9_#)^#~bXnYL z8lTSF5aOK~lIAmd_ioEK0q$f0W^9309*Zpg=COp|L(*ECWCmH_Y=O+WC*fqI`LaA; z6wwww@z!b3PGB_tlg_#dXw~jHpF+Nw=!-KC_HN5R$Q>*g2l9l>g!@DHmagZ7(c`^2 zC})Ggb9s#lqB{fWX9l?aYdo;cXpPVOh`zdga-?4zR_FOM0oVt~P8}(9+Zoc>;o{W2 z2cTbqKgA_Rku?-^WSH$e4sAe71$3*;KPiAz_5X!|^7q4lDl)zw1>?|y;bgy4hw>k# zoXIjM-3DsEkK?;*o@w5HjO4^m0AoZ6>FZww{Gzg(VFoHf7qthZMDHJK@O0EIOM5xo zt)*snWuaVY=k;QwnSFfOCGR;RutE~B1=WlEhTnP~_K_~!2e`hTAiiJC`(~%R_QbiF zC9Ra;8QtZN>jySM+NzvX4fl&xy)Sw<4J|vj`*2yFuWK7;E{51L4;D~09tdkZbbc#e z^!XC*)Imra-yA`=U4wt^3GiCDmo%<<0uxOQ*a<77*n_Kb9jHnCvj-Df-B(Gwp(R5u6YXk|6#o@9C-$xd_qJQ2&dnt~ZOFnfVKQSilp^Q6vtsSWm$4)mdm< z9;xk2sdk!pO>nuG)MWXq;`paoetJx=+e)qM0A}s){esBas)*w%={QXL9M~Kb^+(>4 zG*DnUlY1G|zNl=8dGfBI!Rh~m1RBj>pQV`-@ z6$`*I7j4=~o*CTd>381jO5YSn&jYc&9@Y;jX8dn$jy^qf{fV5qCSCHKfG68FI^gBY zs4qZ?34R@oe?=LoX1vS@%SQ*lo;#M%d3&=sd6iP~*MPGXh!nP^J7wUR z2@N=$|J(t&*;J`SnJv2~A6fJPit?05*+d+?NF|0s77?JyIThIymdG_kygVqzN!FRc zG|{cKYwzD&$hZc}@%4mUz5Iy9FQ6Qv4CO$_NZH)CVp<6=m&`B`8AMDY!1>ytm@rh0 zINu=gn`p3<6)CB>a^p%CAFGk1#_Uo%4rEiG3_M-H+XA&eg=E{(*NabrqL+On%?j3(Q70`>H4D?dO zA1A6uj9#DD5Vv9sIJeetxGgX(sK#MZ*e%7q)^B6pHtk$Ba9;1kgpHh?3|5JG$NDx! zR5?&CoHjP$9|sk>@7&^!#zgFunsWZ#S!6D$puYR+Eh}M42FbV1`{yYrh*QM-5KFX1 zbiePrWbs{`rSm&xHhpkzX}@GU1<;L--xT+&UNB8r(DeQO^>wtfVTxJT_=OeQ@$)M# zt1=!5FH>*FwB#@Pm^pHB)rZml|f&h&@d1*ZDMRY&Nvxm*5$&5 z;Yp}1=8JP0SEJjnGKt6jBi?!Z+{~LE!fy4q$Ag{|yYV0Na(Z(-d|vJ_9+lmXI7nWD zzZ|>o?QKhM8HWJj^uU^R!inPq;*KL1RGsguYSVR3dbHLbZiAjZ(9VYfvMHa9lcn~v zMs`^QU66@9CwTmf+R0Meq%xNGhHOlBdgfjYd}KORmEw*pPllskF;Z4rH$(50`BTKI^M)0awNuAY|peSvlI z#*!CWUq+482wMbM#Hl395BJSYe5K$tGPuC7K5Joy=giz1k|W`pKn5IFv8EnT2@6j8 z{tTuCwzr-yZpw)Z8-H$GzhiS$YYX*oMeOBGYtjYQagCU#N5+NQFP7SlKffyP{P2md zK!a-q9@SR*i-mxvSr4dw(W;Z5Ba%J9$c&*^h(Ab-sSkY55Xpj1{%uAh`y#=iyC=B> z3QnqIuaRe;!YLr~uUy>so^z2U|7&dx5$p5k&o@3h|72&V)phUqUb=jB=z_)DB>gEY zcH5z~WWyD&_IPzAWkjY0uheNUw%pa>*0T78Pu5EQ;@^3I5bT7bTGLQo*rH8V`-wS9*E5+MEh)QOn0!wL5Qm;5<$PDb9&&#!JT+nxZKio46e z3=V5#{2+bxH4|IIt6;^>+fnq@hI5;Z-jrkAW2raY$-d|MwH46EXlFliuQ+l3_N5R4 zj+q6&13HT$nn#e!aa0Fae0If2U3UR1l1wH(E1kT+|EV-40M9Og;i3o=oyX+imElUR z`)|P78FG6yQ3pPmy4!Lyd5Kf_=Yvk3noCn%+D$catAzQy-=kca^FudCiI`XFUA1q; z6Uaqpq_6ty$1-m?Jlb`OlVbOE41JcI{$1bUMG>p9zuJ_s$Go+?zm-Eq7Xh^!=JtlfGQ?u4dMbY>3 z<@^poQcrEB&U#m-I}mtOCa)r}YnUH5R^x!rA>$BCsKVirt-@z7Z+VqZ7#mQ^^1jE; zG!Wh@@4HKV7jSm|mBXEt^oIKgagExb@y~G}nixIbl#?gB+?#F`L+FJ#tMQ??=QZnJ z5quxD!CSshw#DIQEM#~(#AL)J0`yS@`e|9N77U4wjbVd?b?=t3g$M&yf751Oug}i& zO&f-X86$jk+i&GsAX+7dELrtcZo~?!)VLG5Q8sdH{ldZLh zv(5F9fp5k4z=>5*^8Dm;gZ;G2Y;aU&^|2$ehj?n&oyw0te^*K~?d+gW8J(A7q}3Lc z9=2Flq}Yj(M?e?BSowLveV69h9}>DwQcJ{WJ)S4GFL|`HAW*(GhWh4?dt0mRohImsryx#H=U=VHFI}&2+$?lEEqc4dON(*(!Vmr%yFI? zd#>+kK5u&}oswnpD{VpdiN{W=bW>N-O0H?&vf#5(iMld>HJ58C%%Xy4QWTTIseoit8KJ0QC!!TKU^1~%|CbI*fy$s&@S_MP> z`19;}TxXra>yB4>$lr%IvHC{Q_d(05!&TxRXoLGqsedOhjwa-7%3@>jdt}s&f1Z1K z=8M>C8nxXkJDSL&mkg62SJHWoWIq$lip)?dH_aJ7Xn5o#(+-PzC_|s-&d18g5PIAL zv4@s3LPL_NMwd6+fjQQX*~sE>Lef4NVmbBYucq>5 znDb+F7>UW`%J>Lp4zHsJ>OEU3lB>D{WSxinU;GV*Agl^G=F(CK1na1qQQbB(yMrZH z--*FYAzTn0H!b)RT}bQ9J1c?{QjmxV&g39$rT+tBB|pxBZM zcXcn$m3|7S#UvFs(i`7)Fx5|E%J)iyvCRlxDEayL^RDTuRIKybaYNzkX5=Ekqu|s1 zGu!{GQy8=OSHzhi1kvK+?X(?MLdMp=d?xgqJ;sxs1sanw%kcjsv#k*Ze6>cbA3(5f z3LLxtg`-yQ!l#nA3OHZ{JVg0BADoe5nH zuM61Ex%%e3*xzv6?o*BG2p7vu0S;%j5c|(yVUo5eER*OD=m@-d)T{B|PZN>?L@E>^ zqL^6zaJ zG)d~om~xa3k#t|P3{$8;Jy!IHG5a96@ks834{O>@y6%SM% zZ^b-`24a;A@zkN}47!vz%;$I{b zj`j{mM|zNA1!U7{wDnyt+d`go4k@bp&E8~a1nnsLp|#Jy0_z%vfTHMhtBE}?h0p3% z6D|oSxva+Gou9HAm{krY&dK0IR3I4j7l)P=KR^2v9EQf>fA@MnlMxW}5R#NpONf&7 z5J2fQLU|D_lv_MDg-|UFsS`q1m=a+Scrpb_Y6w)9J*#cEDq~pPRd(C1rEQ5kdo1}Q z7ffztP+RNH@xmHVsQ;Vr;UW}=2yG69m*c=EcEYy*1m$bUhTp(UD}H}A8Zo92Ox0ua zBPQx7V*G}0aDKfbwGuSN;CE>c3-A}Ta7jISy)IMLKE`|pweiNZ@7df8dLoFs@y?hu z{-Xnxi%JVEVKfv%gDzUOWpB=&=~Cv8^;}ves48KQnk879Ba@nox5=4C=xu83c8Qn( z0nUp*VC>~nvrx$yXQNr{z^ui-39QiO4!`9x9jJzX@WE#5VKc*egVcJXVQ+Qa*5=b( zNpArojr3nC4}o_idNQM6&%VH}I>g|+sPP>tXXYN=@O?PowFtb6JA-bY97} zacsWCp;!6h!;>Ol^p3>iESN?7TLGzmokP%hbn9H1(ypbYU{U@D<-nIA9u-~4xY6Ep zV?7x7?{_F~4`lNbL_PUV5T5%Az6O(P}FBF=^ITqA{PGmS-|frV=Z z&DM@&yLJBX$e|22Ioedz- zb_k@NXuS^W&Qdm8C`V+utERhm?HFP<30aP|a@!BtjwXy)5o*AZk|CWPU*Z(K2Kb!u2Nhu9w~0 zLVyKZ3%%P)fTGh3HGap?Iiu}*&EdUYXa&@MFaNL~?r}H4;)JU1)8*W@7<*4d#)IO6 zV+)-r^bEZNMzDIJwbwF!-}*3Nhui52txn62aFfqOO#Nr9SU(mA;NdjOGx$;xF!(q~ z{kqok17BGL)t=(;XX1;VHPXNnlA-v|K)X+4k>VxkC1jdXpBXv26V^r7?f0qbDvFu{ z1TVX)fakBF!E7#&=O0p26aAL$MEeTb9O*Mr3Erlez3xTmbL?f-4{zhT%(ed}M+6vg z^rvXBu=HYX&?O*E@X6(1%rNoL!P9~c_aPNf^Sp95o3%ZCSe#QveJaw!aG=8;`z<{z zfzrB)=^5a}Qvtl=PbqsQh!k)Js1EJ37b9jf1Y?RzcTFg{?nsS;{n??pz5t}3fvobR zJ1*?=$zPH)>gZzfrRek`>ZZp^ZO%o`K|6}4O1Dv)i~5DylZcAW2`H()^{4h&s4z3X z4(5&KXQd?adVr%0lrCnuNP0RTxf>&sjBboZ09hFx7FAlK0=F|z&D_LU)_%B4MM(d* zs~KpCa{YBlp^KxI*!&?>$AAa23L(T|60my2$sZP$Dn4GkB&R{jAX)7r#1?WAaY~#n zHNo2-CzD!tCr!xSg9Tl{`)GpAad_DG@5w?O6z+}BAroRq+7UGy`Rs0=1+ya;xRT#$D zB7)k`=ZrHeJ%$=tfyXtg)&-_ee0T>aEUqTTn=jz@9|2mH&BtZnp|Rz?$}pYmyzdB5 zv_&{u-)|#p(w|a`^?^wru28wn64cCo%TRntMN@3~LGPg{Iw7kObx?6ajp{29lL(1b z44Zv{`t4BTm$wn%b_4;MG+~U-pqPYO`AkFLV_b1d8kzdg7Sz^+oph(q?nWFFXJ@cM zAT2`8{=IZXf}D6xsSjbw4bVPTp%^xO31}=0l)TEvfB*X1fRaL<8qP)2NXE1<_ymd?9Owl0S>^v>PE>(nvU+hxTp*9I2PS?*!-}e&A zlXdaMkp^dn;>ljvNQ?pXYs86+|5MMIv37n%{43#D$vJmA{i4Q@8`ga;586i=nWx znbxLIBcgcH%w6C5Ex-p^hBa4=2zZn}G*J_OZv?%IO>XuIO^QREmv_!H7d9{5PZZUY ztn~NQP=Sfm73t4-C`xm=ZZa@r7B7uqseFQ_BhvS+*kN3@qtPIyhr^;ME znOC1RdKc!dpN@Rp^78?YDM@c!v&xBWjlT=!fT!NV7M>4nKt`Ul>MQg8)N#Cf;i%Zi z=XagK_i<)o@DXb98=uMjytG?M!cNF5I$YkRdO8owCm21A(^x(Gu@kXDx1n#3!b<}RZh;Eqs*jnv%^LBM&c zbpQ`es_N;pM*H!o4tQv}B4vDOcOqU|W8m9yQ#bnn&2tnYdNMhl+5JHb8-qPUcbA}9 zEplUmza*~&r{h`aS@`Ph!W;QVaKqS;$oD7+E%ALX*aLb0LW_5C5zF%))W#18 z88q`>zEY?9b}FI4RUX-(OL-b?xmK527I$JbQC8`g^mjx^Ylk=NUOc%R$0dVvqJ8RJ zg00^;;Adf|E1^RbcF%ivqfY$Wb(gjEkDvraI|$#7snUTG?qy!hsNp6kv=xihD17Mv zh11HhLs#U?L@#J48?=ewWGs3vLF z>AhdqDpx(v`b)KSnZ~&X%vi#`=!%YIR2#APSK_ci8w2s+4RJ%6# zv-Mj>`r5!m|I8%ntF-=w%-`~93N9{=xbx{Q#;dvOMiz=KfNx!jSj?96%#u?X_?GoP zZaGCOo)Je>;ko_b?diA%QJTqz8gH5RF~Y z0|^o%aS(YbY2&UUy~~W(#kDyiw8^i1gdWfI&Wl~=6hER4QY>_!#;n~A4%*lc1H+9e z?a?TC`a94@F^ANk`13jKLeuW1bf}B9yw${Xx=R3HJ3?|?im;GL;$Z6@>}e?Be+I2u0AAWajYE$fEKM^* z>x{>#z3LYDoYs@(mLVAHuz+y^a-8v0KEw)s8irK5sC105`13^*MW~Vl6z9E)-o)+r zR@iRMXeekuRrkqJd`GQ;Up77R4tFBnKYQ!6 zPad0PCJB^#x|F%PW)OX-#lTU31m|&1#-=`sUb~}5Pg_@M@6?~#*;MS}MxAGHdeeoc z3(Hz7*p3R$4mfx07qfhEx1J>TTxr&o7TQYf)^jo7NV*_Nhd~?5nS(?~RAi>u1dkeg z!r|mkvqj%BAS=y|bDNxR=8KyDsum}7C{FFYF;2Xr|KHBJxKsE%6$m9Ndb%eV1D60QPQZaMj67R1MMNSM89e#uJ z_vg^)y-iDi%2D z6aDPk5uq;x@*Y=m@M3q5NTp1G{v*QdGOk~6nNuTAcmVe17=JofRqbL9kL!88r3awIH=cfeK5PM6IRY>_jU8+-@&(?p!{gqx^N)5ZRyuGQ$u*ve!OK0cQT(^A6vl z6F#(TtiuHI2Do2D)!jbq5N|;I5MGWiLUbx$2ONerD+Y7~M?p_00vgre*CY3)=hX2h zB()Iiw7TB|&#jEbu23**xKWG%;;V_}o`Q3DRIXm50*E^yt%pHLZKop+2DbeiLXW*M z!>=ApIm{R++3W(0UUI_-148#Abe8bR8W_7tC-tEzWOzTx8E&Z5m(UvMcvJ(RLQ4YB zh${r#pxKL2mA_Em8M*~E{a!VsQWXMwQ?Wjv!#rI6iRD?1)t zeIObr$w`^E1cMR%-0B zjf(C(sJrYZaT|o1TrJ8=^QZ}2Gvp((Tz^x>dOJ8mv>>ZNsr4#D=BDCW)x(3ILNW>a z9|K~8{Q+S{ZO6=b5H7TxEDG=421&5^jGa%p3!|srs@*{nQ#Ei2HG|!z!0@0_{{-`- z=Jh*IUb7@OqRle@yQASgk{csTQk^}v6`INBS(o#T(dFfr=5@pKLi=v7EoSMh;58nC;&B7z1m63UZeNF$ z@ak{>a9Kow3v`Vg#ooVANbND#R_mY&qk%%>g9NMfgj6x&3P^5sQlb-d3PK{uW!hh}IJn>OpRH3_Co;ySw@7MGGSnGDz6=Q!4~4wh?#kHI^<3kAIIuN zGU4F>X*T&+S$;}ZZ9n41^d*9!%h=VSZLEDYDnP%71#9-cFiR^X}@r`ODFO~N3`^ZpqKJB-4W?)2PTJ}dlsBSY`WdW1Vs^)+tgzW6=pG7umugx%Jw zkmfpUXjWWq;@>hlS4DG(XvIq%UUL;{Q{ zp!3#tY7PuT9F{=NDTan_{W;J#OrbBD%-vho0G;WH;NCn$fjL3=AcIUS5~}B&l8DX1 zii|3oA>6!BR*)@GMO37G`FS)cbRLVgrUHX-Kt`JNRHrHK%hIt;c2lh))!#m?SJ;*E z$g4g0v?4nQ3yT|wQH<6C-h=))idM%OvQUt|_*GY*gJxI?;J-qdK&gbA{wsHCubtju zZx(K|_%h6iibGaFy{yk}jgW=h$H;nrI1wSau+H@;*=H%IzB+3VIedrxH1-eSJb5b- zn-2(Kkx(5RHGZRTK+Zw^^Hmhv;?FDH zdW>3;2MH0Y0W2ufB)DKN~+{ywt{ATTM z8LkM;Ug^!-4}z-;HC9l)(D@aUAX)E4tQ>6guna)-^mkpJcOi<_5ebfaN64DyVe;E7 z>oBL~o!_ADK%8q&DSHUB4|Z;%QxtCvBl#tx7>r&?iNjGWuIAL!ZVizeFK#yhntc>= ziev0UqX?F)Rrs+&PNCDFZhzchwX{obk*f&2q3Dne5h(^|4Uka$lsZzY`hQ}kwG5PX zMaI5T22xjD_wo*rCnK~)A)!3!XC}Xumke=Qayr^JcbMb;0eX%I_w%p!hUu~i9;_7- zZI}`)LsOPBV|d;r$&tJ(?=0xfmSkEbeQ?)D21#8AL&#EW(*mbR7oUU>Q`{;bl?mv{ z>{4**qVC8Wk`E`g<+p;%!Q;_lG!u;aYNGr9@qq4FsNuSaNKmYM7TheS5u3*-8&6An zEz^H7gY3m*9>ZtP$@o-#DCR6CS=+9lk8iHsEc zVN`At6KZ@|f${FSyCd)984gfoe@zMg4H_Xw0FY|UW~VZXa^f(JBA{L;;R&*toX?<2Oo@z-=e4E;^d=0}R`PMm-gJPJ@ z3`{EtRnb?8Z%_usL;aav)WuR9G&3CA&$Psl+*JcL(fYN+43`Nxi^qF`pmr2_+s9ox zWyY!~7`#1#L6>1inwDOI^I5pTViy^c9u)O%r#)JWgetti_4QqI1ylsWRp4>yh{#9Z zza>sib42>9UqMbB2SYn*B_e`5!YcLqVj;9C)k;*6plVBbkU>HdW@2=e;PNLD40+=- zXyjfCOea>J&BNuGH^7HbnLFSGKfFe8ld%z8RlTBgSw`Hli@M*FeOh(>16RvUr#1FA zh}~rTvf>tSO5aJP%pi_a9VG@S=?VY-8r`=4R4^&c;qP^ha686*`ezd&LAGGYQYL~Z z?Hag`T^K>!$kFGw0wqYs{lo(M9$ml>k@%BXga}t_Gr(-|n;C)GA z#4$X1H7?rl(CRs!)zh9_T8rv=uJjuxx!Qz*A9eA$9Q@xJBZB4kaWOVi?%DvG{&<4q z8DLv?I|A7>36$Y68QMKyw^{3>1w$t=yHyA#>i`-?o~J_nHx~|31W)QXP6Hk17`}6zM>O1Gl}Vs zr$c^oP*W+#tX{tu$p2QD3Gr5qs@mDDT(+#C5|X%PTgqtghHa=S5dx)ul$Rda#@#b| ziQ41v?bDr^jSbuYj6gq zqU$E!e}ALp7eD_irb6@WMdM(yKx(0h=ZJM}3W=-k4+q{IN3D&`pGFOy)S>YLBYA)- z>FdKaglmDn>3tlOROa9e$5&Y$2aT8dYYM%WCdtef1wl|n_*-`LYF1V5H@q~5pc`Gn zkFwB1X@l!3zqJOj+n!&2seD7>gaSme55$oUx^)6LPqZ~6NxcFXm-1#J@uhApN6?aL z0dpEQzKDEUWXe!uKVOErV)cX z!yQ8pGJV3p32nQa^KojbYG}hgj8>2XiH-58&jG;S0>IK```C&G;?s*oWs>$UAW(04 z6~$xBpT4z09{A|hiIF+EZgfz;O~a?ot6 zq1o;lq-E0sg`fkf!=Qs2VYog*T~d#Ktns*Wy9W2I-ymw(_^amE3r2O6D_&W8>`w=F zQj4>s@vxxUsJzsw#`6!XpPYNDO9X8h*Lxw^8enlCxxflNIw`TP;oG_lJ6Z0vsD={V z%@ZDu%DHNJ9&lf|Ld8bYz5($nbRkFVn^qbCUYaAQ{x&0B(FDh4nww3OhR_K318BF7 zfZr1euEEK-z^p=YvBhrnb-JGx(%|xV<}|0~Gxa=f+>S_yN-fBAL9=sPGDPsAQBk?| zub4CJ?z!!$rP^Tp@c5bGMuZpdB*f63FnUM$ONIfKVd{{PF&EVU$J3eZ`x&HqJbWNu z4$t&%1PV9pXmfa|mZ}Kz=7j$y>v&S=uZ$_0uJj~bLYK}AnX$L0FxIPOKfPv1RKI`4 z6YMx?dFJhE5%~fE^O>;rJUivXn_Y+*;CHVT61Mo7L zQdeBacXBKxh83*hM~<;EO57v-=BqO?Oj;(;E1T7dLj)v$w~-OpbAlgwvI|mvW|r;r zCTudlvR(g(tzn%_z2s?6EE7V<|3YFclpVvv-L^QyPJcLGANOi+9^%xntHuH_x*;8K zna91=&o7lvGRQb%sBJMShD&Q);UnW1HM@JB$0;l#Gb6(9Gr%ZJ!9Nd05>Cz%!>IEg zfvVl|G{nuM1M6TbQ9*d{v}v}&=_51uOiS+f==c7GdxgdTOxaB`~( z?$)2f&d`7cJxP3rt!zvT0GG zViw2@)U|7`F;!^sc{4Eh`Oa6KZOSbBst{MXp7ELw6Sqh$pxZmujMxYyJ(Uod10()P z*dG5zmoPd$CU{}}W6X>e;id2K->5Zvl|@dCjmP}b62}jy19*%MqGI!E7)Qz1drHj+ z%R*vd$mw$&@?Bb*BSE4yb9nxS1v;u<9VPnF_n2sH`*>zAA#1Ep2sUr_L5nb@Fd*X2)>&rLgmGeV?qijx?QL?V^mN zJ;@8I!+;7)v@!xO<=P>Xvi%NzSA92;90#xHmmclkI#r4w3r%Q`baBtY!U&9jX=xM zRAum7P{Dt5X-H(%IEesKsab5r1XaakVkm)AyGr%(<~HQ4kl{~Qe6!E-W6uJ6t%7kl zyW1~DkNSMYK?6Af4ymFmCjzGsj zRZroudz70UDUlRy6C%^<67k!8POy@w3{cJSfilPg2kbBFRg65S^qhI@WsH_q&Ao?dqo;}5PDdL0Q*)HXi$A$`8A>agarXvzgDo(ey?{s%>*OqzW6U)kk*4k zxO$RTEvd?)RiFK7p3j+}sMyf!inAm4k=Frb->8)G!Trl6n5l@m;c|~b%9?uviQlBO z4yq-d2$F6ZNSr?sL>)gg{@Vr&dBTN&47~avu+HWohp3=0rMo!z_G5&h@Sj4UKpLF@ znkGJQWtc&pJ**h|rs_o$OEY-AlPcg>lVmbNwCRivqV{{Vx{*`4%3CR=F0CD!9%RFG z0q(b|w>wy=`yw0G@qzx7`a{gP;>%6ev6vV~_QLFE^0{Hz!s1$PvpQT_Pv~Bp(Ymt! z7Fw|#P?qjPZz8~o<40keRAiVquiEOar6ZjjNh8(j4EqbY7>6efao5weww5h#KwKhy z=x7{Wq=E?R*d5B=gby5D@mg+biD$+>vCHQU#LYW~1Y^8p>vl?_)w?jg7pLDUeaXUL z?<6ny^ioP%l2Nn|p zy;7!?NArj3T)r>v)!pLTNiOV-Y+O0*ntR{WwCGiSTN4A2Wl)_wvE5k4IuO<*>Dd9= z6IjU;byTL`{rxUmdrOQ>#l*rjGJBZsM%s-uC$Esu>&&+Zcj$`J;fFrhfkSj$3>-%P zyKX9sW1=0plV>O*=@09$e4o{z+l4kRr}4y`%P?tD-a2jeiLxe6Jl1N7%p3U?FxiV?b(H{kw+*3Gd^(cd zYOw+=ydxQ}>1~@lX8pj>TYh&P>lsxhT{^KcilSJkB34 z-tiG#Ai?mD{dU*%sDH-P6{#7amM9S<$PVv{TWVuqm^7~m3xXc2kU>vqD+sA(16R=N z@j+g2I`d76GcCv4uZHn~kYQ^<{K1kO)% z8bPs8i->+zUkR2#37K2a^1GtXhZU8|SLL1I{4Y)h*(oG0JL;!-!xo<*H)_=tlQr)< z3R|+m`Mg_lmu#-}g#D$Vd$OgWGn(8Ao}y!$lm=%xu*6R&*ZjumqWM^w?3xY-?o2M= zCBG%X&+7qN%TId|S>Jv$rofFvfu0gKFYha@$JjY9cv<8+=h-Ge&@u|f6k$fZIJmk=A*N=u&A9OWMi=K~%=$a=ogZybF5QuV9-THTyNnSn1tz4dL zwKH^cwif3^XD3c5&WZjFRsHJ^*4n2^_CIu9Fmd#x-HMNq$|hAat|Y*Qobar<*!r6N zEsqM}_Ax>2S*{p@+4ow+TPt(plpLJB`(DOv-6Uj^#Pe-%*aV+GcaXj$p+WJeynz>z z#1scopd+Y#HUZc35Gu%Q2T{%vXiwb?t$?rMb4kMC(Sa~y6tdTjyeCnJ9tw;#UP4jS zwzYnecnWD5?)Fkmg;vM$f6VP086Tq;-{JN*;<9W146kwK=V^m8PnK9c8}2IC1QwHz zYkIzkpvQ3B9v3-(w&U$$3FV&fT-hNV)b#nf#y9)54c)5!m4n58w48Cd^l|f+#93#g z+Ff2yy5X$J?wlOyQ3?;xof?4*P>71qpulZ_RZt=k#Y|^V%sZ8zH3B>tuA7H2)JWNg zT}}t({}7oehKbW00JxR)iI1EXeEdbPEpF{!${%vNwSTn}S{EVu@HYmro$H&`#{QqO zB!`B8rn*6Vs!*q>0_^Beyo6eM>q={VXcL#`TcxIgL_g-Sdoj$KR7xLDjEzv%gkAru zB_qqB1fGrr250x&LhU9mO0jW~pX9;jinAxd6%mlcA{kVqHl_o_;!)^QZXO1mjn4L4 zW;tayLLUMeAVoQThbSMea2pu->PSesZZZL z%SqLAmudW>t1KNlEk)f=RWB3G;+EJi*V)sx(`{I!F{JUGha)$Bk2`(BJ9qu;SjFBd z1YmMc%{D-RM}L-Vwv?y>rN`U%{0Vt~LzP$Pq|k z2!-Px0R0$&5#NCXBfkMiMGJ!)VhS+!KOhe#xW-Q8`iEnJpCUddeES4<@2(kgQ8sFa zcJ9q=O%XN~8mqcuR5|up<>O_N@l^I{^Hr3nqG(*i^DV)lT^waKwNBdgmE|qKt)Hhn ziK>4k3`+Yq-;p2+H%;|XwkogpJTk=4#C*MuAvbxL!EgD3McLCcMrU}paIamrHhSh> z(Pymdc!8LQOznCrErp)hs#EI^cK%!+v9VV%pESM7jdY$Y?2b-=9~*C;V0`-wYpRRp z)1&I?ZXYLeV!T9;rg|FFwg(^REvY=wVSxhC%enO7veGw1Pw;~JoKtrr5Ll0b>~J_# zrM)Q$^2}(7Dl;78DOaPm1*-jp~%| z1b$x_{66-)5~g?6&nG zC4(>n8O*PNpxvlJ8g??tU4x7bGu3B_B=`9#v`mF*%sc| z-w+(-A!c60U5|NzDh<1(^5c_nV0bof+P8M*(5_1z@2QcvG?EjQaF6?=>YfMXL z)LJ38YS)+?4%nu}0DI8ux$1%Gvv>29FYe;Umv72T;=xEEK2X5~f`i>E{OumB#u z%Uq=kIVMyM;!It^S{}M9j=2~Pop$Tn;)eWVcVm*ZuC;TV*misGN;6QX>z5r``RTGU zAM;eJSLwG3@o9{GDhk*Uo*aj9gABXVYD+qB*ijprt5lw!LqK)6QQ*+C3J&`zCD=&r zYr32d-ccn!z<(pF`3;4zyju&K%0j9I7!D6zqa3^O;E31jTiLshOg+?jji{RuCpUpF zb@5TTT}#X-t)m|=&W@CdZ@Hs0(20))11c#A+VRgIIgLQ38(Ft?9}(?PW~S%OUz{~M zQ|w-Ih$?Z)Ca^90-0e&AM@GlQx6ZfDQs#O?TItmoi>I$sE8ebUXti^y<@cxTSnFaXPyB>T(3Z*AFiUvV}e@@1H%L@NkUH;NTD!+ z?5^0iOnU0Xsm2`pBMT<8(YB8I#7co>7+$XFakqj-Q9 z$cSdM{Lej^xpTd2@}gLOC(lgPNhR|fCe1X36KwSnCevSkbFjw_%cgn3K2AL(42(12 z(){?Rjc4MMsYOMVq2CV2A!nC6P7T8Ten7ewe*!rWzFM}B`RdFUu6{Y22ZRRHube>M z_Gm?)!Rf~ZYEswKuTWB~Ws&utOhK7+Gym@U_J+iWl3&xU7g-4o_FMgjOR~AEfs~{5 zy^6BIIRp3Rjav%<{yKrFx{w>1^Zl-qW2-ZoMro$QoxlOi(1lDh+xw4c3TH#p%Cin^ zysweaWh7ZKax%;kOX)Rl-ME|xDKS+Tc034hluD+#wJM67~pdfnyb5m zl)@c|p9HBOGc=s?1cmsWQZ~wv%G&z6lv9UZNa@8=Zd-uti@}oqC-GaqR?-FLP&kaR z;RXd_+#`ms7J4*4xWzoCDJ)Ngmb3XHxU@T>Tj4SR?^2}{w2Ll&dHHH8v9#-GJqgwO zQyx*eXsK@y4gkGi4pyuQy#2vrf^<)qi|a0hWwK>LZSn9vKTT!(_gD5|840jqU}K-# zY9&s|sNal3d8}#xWlNynL^BkSY2tI4!+J4F%lw9p23hajK#MjKZc8; zAsw+Vo1#qQG`Q%SdyDr$pw-E+_lRvWiYjIx8p$~>I|tc~X4r4qs)7Yf$^88nzeH+a4Ch?yvMEo@1KfTX;xW$*@p}jU8$@S7S*{UOwr;RS`54H4jqd}C~=M&~vyc)G@=3`NHS{t-5 z#D)S`U6rDF&bPP3=!+87@>g1ku-SZNq7#p$Fhw8sO>9m+?p=it_l4NG;S7Z(i6~nt z2`l+yt2w@guZRn75o}>VwfnZB+yavL^XkHM>uRutZm|=G1bh!_Le@X71j;pBybY zW1QV@2q>N~nYlw=&L?6+FU}K2e)*KcXt)q6I?`#PXL&FlET+Ymkcl#Z1U6#4BlolR z;f7w<%mb>BbqmMCLd_y$EI`M$42rFSIHYbQCp_u}ZS;8`-2BEQtI-HuyhcjfxJlet z?^jFhhn!@Gq)iSFgs@Jm_@57Ma`8T1$PftPlKuF8THEt&;3W*lmG*@##gAvV-Iso` ze~aV5t2$Y1$ss8`_Jz`oW=%VHE4AU==a$`wLm@+Ij}6sG`0&#)EGCdFwtxoZuV^l; z%*WSWgD?fVzuSBAesF6Y#zuqOGUGtQBKZ^}=9ErtV2n*Gcje?sRaPQVtKd$d%G09k z$(Kr6S%G*FTUBszX}Hsx7}NGI2Na@@}Qpa#PYh6*Sy*J`vp%c+$f_GA`(U%ZN9us^a!K z;)Fxd#nA`0mz)70Bdw6@Suh%6vlBZJB$9f=+)J96z>vwjEjm`~LvLtM!DiYHmbC4e z7%>vr#-|R&00_jO=@-XN(Me=5kchrew~xXDRD?``gLus7G;NhP(3?tL*nX;#B+@B= z)IWg3QnzJOOwO_(M8o&nwtrz1fY>!N(euQnPY=Fc+=k9~eIGcJT!)OjIHt|d@Woga zDC?O;IWnKaU+Q2C$;|iujS4;a+w0UquddccG?&6M7ae)L+I0|*YU5&6rSF+j_a2i| zUl&r#8%Qs8RD}HX6@#IUX;aPS>~+@NZrkWV-F!HKltS6qLM=zx+~gb|$sF}__!_@R zb3gD!yB?m>sF@AoX_RMpPNcTDUaP9tK>arLiftV+5RQK3a!2R#yD!Wu8>;@^^CJGB z-Mjb_O7jTeQs>rB=e5T==@H|QQsHm8rt$X(BKREU5gIs&*N?>FS-p($75aPx$V47# zu0Ntccao+@G5m7Z-Sq5h@$+)TB*xsa?B|*KUb$Gdl4-qF_2m5PEd+>hKKtrW`lPy8 z>ar0J&cT)1hbY7gUqZKWbJ zytL?ay|tfRDR)-s&eC%o-u1%jO*e39tmCA!Xr2J?zlqMh_?yv&7ji(F;C!0oChBnK zEw2agq}X(nPU%5;>S~yG|I6@?v-0f6S;rW1-FV%jXQ~a_Y<58n!1qAjX7k=Y)r-dE z-xL!|-TJ;H*4%TtN=y=FG4ies<6;*;R0u3iM`&ERoOlEb`Bl`;4ob<81oYS|0y$}f z2gHHB&PaLt>ey$KOPD^OXUz1s$@9$6=x$T%5ZNH2G{Y|EKo+MkPsp80wyavkExXtX z`$w2w1U^Iluc3n7hzSH)GBj2z8!Wr@$zeZ03=FK*G;G@5w0d)TBa78S~xK{#(>LzZ{VMuuwD17w&- z0a#0-)VZ&J0|V;G&NmjjZS+vR`Gm*h=eY5b)IK$SvrtX?I!@80rfTz8+unyp^5nT8 z#eVz6ZdE6kwJ#h`{&qtvLhYkS5Lf+&i`Of+X%M?dI$U|Uz~#pTds|-N|6}dF1F7!c z|M470Ruah!p|ba=Y;~jTk&&`0S&@{Pbx6vt?81p`A{k{%8f0ZgAtjPM3K_rac~IT= z`}6(p_s{#?-K%rX^Yxt9^SU16-t(i07Z=tvlEiHj+Za81se??9TkP0`a8UQrDh+WQY64_efZjs^G$drJV*3}tZ>gu)-@^pQx<(co{Z9+ju%V3o=+xY zRScB7s-*6qhaZx}I0BavRjrmY=-7s|tv#<$P#R4ne@o}(e<)JOh4zijEAn;4C(mj- zdIQ?O)$5gLE_qSdUw`bx9g-*<-;LrXYO)n@Z;J@nDV^CZbE5)Ku(d_O%^L1QdzKntV3CSvP)G^x5ziaSR(|XA+}od+A2wquOfU050~V)}C6| z^am%?Z(nVFSjXwQ9b!G1+@8TepaHLJFa6xF9^Z0aM8&v3q_fMT(i0MB0eW5PmKqGy zQ%7d+i=N^VU%f(cjE}uxK7np*{5J2x`)AinJicwFZEOrN%O6#-G3s&}R}M6_XYc)) zW+?ww;QqHqyrFtl^L*`g)D8CO?=BEx_`n(*4LM7v_Tqo`=mnu$=+5va^csh-uy{kUYlaoMO){@evwf~P-AGLpRSP{sdT3esrN zu)J5$Ko)Xj&U1~f>UcpSpT4^L>!~;ouf)aE>G>HS?mF8-$;;<{pniFSzjn;es!clz|>XRBZrE%6bugE&;MLd#B$Eam*Xh%sXkV&%40Cj`hCVomAk? zT^k7hsLGf)U{L+qf=pu&`*-V_Cr`@4%qFQ{t5nx{PYv{C&90}3Joi6gS3Yti{^V_Br zeA$+pGWf1@V(hBxhud;9KH}Qx8oNKGHdcBxFPmSxAbp9DN7zZE!d$Sk-te?Tr&d__ zlT(NM{fPAsBi@5W(a|&#d*#R$x(K8b1YS7}-Eh}(R@*+T@i`N_gU{jhrBl^+wAK35 zn3e%Fc$8_GJQx8$b=%bCA$!c`t;hZ#R7#HKDIloiYzJ%{KtQyYmDSzXOnvvH7GzN< zPZ_8fPg|Ysef!I>L6q0)aU6$!iM^bt{@19IVpIN*TeMiF`!0msPzN*71i%)SV`_G0 zh1>26?SI?852{s)``{2gbAGI@`ooE**&+bs9ovT{c5 zsD^1~CCb~hrq7yCtn_BLhkAfo%*-R|`z^^Ax?7;nhm7J4OYBV#w2Y`(>S`NKeN}G| z_gIaNqT$W`(j?pE`(>$z&Q;-Zc^70xah?Zj7;a`w98v}D(pe1lpgZZl<88FWP`m3F ztFCTgk}ETHl|J3@jW?8Yxbkbd?0|frOEsZxx6kQs=n?SXZqD8Ale3)1q%wMnpM7vm zZl{LBBFf{i0K@Bv5u8SD=I)GhpYIp_$jy1AELdtUCs}@0h?h%%udmoga?a#ZcbU=G z;$l;KD^cB2drd_)O$|J|sV{`3{(+BCuI}*AO|G*+tgbvG@s9u}i>{tA$9SyctzzOF z0m!$MhQw0hAw^loo2BagHS`^u9MU2A)y7&5IxEY`+my)tcWV&azLz1qp6|Yv{HErm zOfmIzFJsF}A(eQu=OZJQHO{T!-$f_ZzmN%{ zZJg_XOLEcj`^k>kJyP_U6sYa_iG0L&nwHNPU1+(NQP4;h68YpBb9wfv(429O{S8#K zE5btc{@zn4@_l}%E*u74+5%=!y-T-hdw2P84YANPPQTH)g&SmnL~kFc2Irr!gzfKHkMf6$13MG5eGm~*SiZ_kx?af=Vv1FQfh{^aeE4mX%*y7k98 zU5*Yy4JQPF$`SvDQSAJ2WW#zH`nbNpvTi6dH9Xil*}G(i%C0jICs3v{T0U;z%XtCb zC3@in7WETITu0x%>0fvPa=TVAZxY^w-dm2)HB`d>F^1drU0&CCE+(%PZclL8SNI@ICtN)TOPqR62fa})dgq}^b4^yh9z#F3%5K`o?a*N z#&X4anG`%MlTQRDX#i!Xp6>AWdH*0`YD>14j7I_8aE8B1R;(EasU$& z={)j0C8BIXhia?P^%s!lm=#i%E>`q&OMKG4tN)tVw|Rh9*mm0v6Xi}j{%9hNS`fEN z6zZDlm1-e3n|@Rq)eV3O#Va&DfXxVKyN#UZQ6N@ph;RC5+a_J;!fZ8n6?4HTd2!XH zx?{2MdY@u?kzsSpQqoU3T&e!>y81I|t6A4Pnvju&P+oKO_uPRbrHlU0k3JwBUSQW} z+_~(PUJ)vCWNJ{>nrt*Xe)i5CSVm(3HK1Y33dAZqBw{pN(6mKJx5yDP%yD+D2%m6yJUC6Y?L zr{Ka?W!<|wO!lhBA}G$iPXc83rFiqw5toaL_O`!1^6prWmDV>Tx5nj>%z5=jT}oS# z9qy<5nms#v`E1f|?2<_PD}6_eBZ6s#aXdH=9tUdh4M_VIG7pBKY#Hdcm zSiPZ3&zg+oO+C`mFpmm=HWZj#0~eS?^^p8!0k(v2#(hUH&mG3}hi&uwmb+NjVL+g0 zPpM4jS9?KZV*apiDkw;h+LW!zp_3EY*$MqDlOppy&X z(ZD0QAL^`Uz52oS$lBnt>-8m7Glj_KDW=5Xd9FabXYNINv;&RSL6k`nCC;MGcEvm zScSLoVF6FKk@&|0!`XBYxOvGoSaj#$nwvIBvH5(!3=5P|mZp zn?vM<^P4!m9$ z@CzIZ+E%9s!CScc6F0Rbtp;Bd5PXkkyW^~?cKdnATiy6IUYM(+O&-lU?^eaF_RPZB z1hF=bm;64E;gOI{bcpHWQSd6=C48??i_83zu+NjxJzx&_dTs0;)-JN!&?vq?2Jp=jgzOlu*5p|p8YAXRRI0~IU)-d*+`yX=)vnqPDQF)eB?XN+yg3MM(J#LQgFAxK))YgkUEW>3o^v%R z6guUZcY^q-PqCGl+8#xAiHI3}7;C0xq>@q4yJ!jX`0Rp4yos28dak06bNbtWL@s?- zg(Kqa-1_||Ja~o^=&D-BlfHTKsz2PJHe@09Ef}u*n9k;#g|Aj`}qtWQTfkqti zJ$m=@3km%awa0U}iL+^W>fgE(b z7>FpV8s5fx%w-gWF`v#9<&M#1!B#zb?WN*c5XX}fZJyArpbjvkkXwbp&(_x?MVNrZLtc@%_C)_pXMCYOTt*npOx{0odH?oOC4}fV zP@ul#*qu-_HgOn=kpx*h;IzmXmpGQ16uA&Eou*UnTn<3EzSFkgb7t?bwYxcp<_r{KoFP+@5?Ea);Sg`lKJE7He+V zayqd%1xSGTkFwuS`hIgpUK6U8))1fNtQ%`4T^>fvuVTLKNc?posU_O^8U+{6&!#AA z&x34|+KR*g9nAv0#5jr*2IB5FXGMk|^xg}%f$6xQ0)CyXG`MDn{Pd(Q$P2FTJVh2N zDOu7i`?agg)ZU+QG+-NSt1+eceALylr6POaCVQKXb54(xUd83Ia1c1uvI+4gzbztKBh^V~C-sF)TPp(O{ zpVoJmr+!l;6Xb$Qh4V6iuv-ndA9N5k#``@Ng0WR~avH@E+#)0I=4|Y$VA$M*}e*7JR%hSLDrI<$Ap^~WjeQV0fb4}$&0h2 z8HLM8_1orCtM?grT@@_3>7XZgCRmXN^f=U7E<^D3azy^;vme><10LRD5u0-KK8qv0J6|(p2y* ziPc$6YHiJc-Q({5)i#-Z6vlM^ne!es3qP{?dej-cp5|POAb0W^ppCbH z(_3b~Y(K9xNT&T%sw{t*8_H!Bj_#QC6V&+{?_~qC?i-yiGi#9HtyZ_RE?^QPBnd<; z05*D(K~4#ap~yX?+mzG_h-afFpAJEs2}f)6gvlwUM2-UXw6-1IR;Rn-K-b_Ls9J@B zux8GOp*d@XU#C{S9;)UoT{*9wlY6@K6;ksAK=_&Q%0nUb-FYmM)`w+3Q4A!AYXyvf z8Gsr-hI~4AMU#1P01%|c$-#ledduUq+sPZRc&^dV-MBM7lu1y$}Z|{0+1;t9% z@>aj}?{@%IdjK<)-cPCDr5(>dToUD=|9ageU7#QlqH;(ojDbwAuG~w3AOGxn;3=n( z7Z2?mqeaMxJ2jwGw!7{IRR~0v*WQtZs0&w0z%)s6hl=j!OTNEOKQkUiJXlKM3MYaP zDR3irN`TIYNF?U~dmIXyTO8<)XF*Cp!mUjQDIl2ro@B4*8Zm|UeAeeSg&#n@l16Uq zUfY31P&T5gKhNP8(BGwY3G)7TNGA@n%X_(3KwkVYBqv|N(&;Yq)X5iI?MTjc=4Jv^ zJ`@3PX{h+$G4L*2>*UpP#z#(mS4vsB)rlvNwxx(9?vU8`4^b|9H_|@bEj&#@voa^P z>azja$Og9}UCE-_v)UT%H+@zj)<#R&%ZvEQCFqHK@Z!(URxWgf$o=Ty(gHL)Vx)Wq zWN0uLGH|a!+LXYqL&9v3$dyCay270cwlV`=bM?UgGh1^4Fk@Y##VaU;e}=i8&6f$d zOi`&1PIYEKFGDZB0ukARZvarbt5NXPVBQad&%ZWmD;Mml-&r3JT&RXi`3#^Vw&QNJ z1eZs(h6f`pxWS(wkVJQ-sa{plIfr{Xt@_aq3xZlNl?qgHtT!q-vUdREJfPRp_Pvi# zJft1fhpl3nE~5d)R)u@IUfAa{K=zRaTtP`Ky5uYp`jNnw>?6U$`kBJs%$cregBH~r!&uxaOnQl7f@KL zO1@L5($K&QmxtT4Y7Mr$_URiqf8_30sgj978S%U1(*f7QB)e`RK3O>Akw8ioNwZ`f zSh;!OdhI%J-($+%AsxXo(>Jgt?;iw_A0aOxY3 zt8ACKQS*#NGZ$I(;F-u|leLl}pJTdn8S16=s$YL+(9=>|QrVc=Y{-a<>!K9W7H$nz zWDo-G#lGX0S7u%T^a2UuD0G=aq6Z~ehJqAUED5E|%rMw?WTg5oKCw7Y+RkQZ>eAT* zM4!(Y3ahp&pvD>uaxa2Ou)uft(kAXeV6KfeykuZ<2dsHbc5_IL-Fmlp!pk+*aCZ0i;{N`(XQrx?xltZW9q&^~- zP3RKWJpWDOkouBQ0|~D-U>v&(H`|ZIz<18mXhg=3yXDNHy1RqV1xL%>Rdq-`3? zc^?>)z0VzW#Ggy4qh`jU*U5?E%C`5M3v(Vm$`n7p6=t#++U;mzjq(|C+lmM4h4KprM8xuDbZM1uRm(Ad65GxPkt=g*?dWSRn zLoTVk-yax&-_CyZo0cbO(qHS6LHEyZfH|DLbt44~Ep4*wS8EH^$#weKc1{zS9(r4o_u^jk^2SV+Q#h z|5!1D@X+0^!oeW<_M=)r9zYu3jVp-H021BO2G#=j_noFk)9pTR2DI%rGWTA1xE7b- z3>g{{*P_g>Nn5L#<`kZ@sM^9nnU@>g=9sEQ0a657*+^MeN+u?&oXx=ea5_Fv}$V({B*$yF>1GP!Wn^w-WeVSB}!u3KzhC_JGP;nf`7 zd%(#kp~S5L!>e$DgU97s`p<{s_X;ftm5~>ST+`KLZL^o!{Od2dm~_+o?^5f)-w#rP zNF-_q&hpX6?N~AdSa&Afm9AYB)j+)pN?DISfU!#QKsPtcU(;oWy6Wn%*W*B z^-HaMhWCD?mYdhn$+u!FPsK-+M2qQ-z1#ljzU)<_@f!MO+mND?jCZPTdVov-0dw#i z_~*N%02$vdC!4VJ;rX2ydN1#cokZk%Rb}GuhWLc!@5aD$t-q^ z>`QsyV{12 zIm;F@5PFcacL2{{{B8`E!`SJrEo<(T+M;mMLMkpnG4k|4r;pCkub&E7)T*eQX}uvS zVv-+r+d!5%v_|q<3$^}*6Q5Gq?5k&{f_!B{pK~aL0El`JoA6o=N;{XIw5W+QHoxx1 z`3^5-@UCky-F<%SshH+|VFJ6bNOMqTU`Y#U1!;jUa|wT39~TCR173Rwc4puYERb?y zAI_H5LAOU*JnQa>$XTK5(?mh8<9n5uz8g)uBo1P`_dK}2e7y17KEVaUu>>i4-1n7njJJfqO{GIp= zQZbQl$QgLJ;zm(Ri8*y|_(*L?qxeS&t6sW@H7*Nn+EH;7YVEMf-}6{ZEN9=7%H64a zfEfD}u`VpRF1ax#8CZI#vM?TTK7SEXwlh<{;yO9)2Muk4kbJiG(-Qrri!eTA*u|MQ zL3`hg{do98W#6=;^kqv5%BO{K-yJ-v94MBmo3GYINy|!{!Ze|`oB-se=0rb>;9bz& zU4%j~9mo$}xL9?B%gVmDBSC7XkJEK)O_uD-1T11JJ%q(`8)0!l-;VO>N>-YY;RPT+ zLxjl8Js2_6Td9|a3Nl?VpqYB+Ed&OSA^q7|mL+Ms0hN}}AvkDv?7~Tl3@;Sj z4m6GTsXU*gun~V6t50skpOVN6ma0FhMPs(#Yx{FB*BE8OA$?zTyJ2xC()EJ4L{9(R z`Mg1_@YCA-Hy^q|2n{bqW~1yvzH*=wMRyeCGjjL7(eUO!ydU%2)0uDuE>^5zuP=6D z=q;(Gp?A0<3P8)z?F9X9dULOtMTlwHB4nSFra4MD7G`ey&44S-nMCInX_2 zoK7H7OVDdZs@fJfVcPo$O9*-m4=@3dEGAIc&s_eTs;0MeE(S1GT9a&rgW!K+;HMyb@8NgDcE>HFH-Ttwa3#k10 z67C?(NQW3osFbF*UDGa`@(EN^MLWCp5>dg1WEWnOYD?4pPfYXGCsDp>XCi0+X=vkZ zOn2Y03x_l|0P>iE=;#R25`k_#hG#CK0uD zAMO7S{J3Y{cf+7UuVSndu`H-+45=opacGfmdS$NVl|Q8rBVbZ4@(B=11*Gm0d;A<_?1>3royE`^@A%2&LZ^mD zyid|U#ED4_*F-7n$u9fV)KM$!Mam@h(|gZy&d zX;b;M>vrOf&o9_-TpS|MvD`YE#WtW&iigNP+;(x(j^`ep2BjUwFj47tIsLDiGqB~R z(x983bMH$)hM4#$0(L?F&{Erg){}&{FG1PcM?Pw^OlSXYl=)EhDPsD8reB3V6sH+G zQwoIVoh2_0_@+7RCcreda})p^KGs|mvN6R7WquC!cS^%X`B8kpP}MK@k!*I=O)2XU zMA}%bYgwN8XT#(dzmxpK9jU3P+4`u@`o>S^+B7a{zCU1fJXn>MQO5P6h_oe0P70`c zRskMx_&7zn>G{ha*%xbHQ?8u7&W+e--IZ5XM-`uJ7m(L{8Cu|eq}?Qn)UM+Z1^*&b z!RvcpIB?D69Y#noCN{@$E_EH0@_99g#I zJqoz$L3)r8SYkr4RKnc%osJ5W^qd_|84&QPY!uodZR=jjedK2KV$;xoli#a{N40zR zx8@R2uDD)Tytlr;EQ+^U$TB-Z&4d^CXqN?LKJb-!jdSlj2!rU}B^Pptwe)5vK_XDp zdQ=p$sn|Mp(2?sqJYG;YgtXFt`YcaKngNf+-hBV=6`7`IVpele&X?bS%s9s)#X8bun*oCCL11Td1v9ImbcAzh1j@sp zE3U=Zg=0s0G_9wB`e)%rvv^fsx&7owkahdvzUOV6Ev%NecX_(M&i8hTIgaNgn>Mfj zG_jD;9GmzBpt5{IoCvN6*}@$r8o*wu-K*(3)B|{ovjJ36JgOIVU1gN8(E-`T4&Go+ zP{_DVOHjzrX7%5LlDw@zTWD8sy}rJwc0LwWLk$i-i{M~kH2JO=(8DC{Oyp)40bV|= z>JNIW3NB;s&p%;ODnz1TFz~0AOQF1^A#`y_{IF9ssi+xjEuJ+dmiDDAMGRr`o+B^KtLG$-8Q&k{q^c)F{V3Lwu>Txw4gZ zV@E@8f!lsS1oUw%9=t@nA*B5~8?+8NQU>$ocd`D(_Z*)Enx3?8@xTZnrP*i3Kfw{h z{Mz;|yt30-n#&MpZP(np>#m(3U;}nd_tDVHWe8R$J$V8`HfZ*3KuF6pEns&HgCvf) zapO0LF+p$b!ezU34bN8%%M;Ni$R zcDVbBYY9p!Z?#?#1R)_oIjm)h98jJGjv|MQ9(aiWhnn}eArLsvRjcOtyTp;uC{_RV z(QZFfVp%W@GrG&36gFZo!gk~+{)!4~XQa96RRMy4*5&{xE|6dCse>X73(`3!NESf- z;sx@mLPYZhzvncndufoOWY9#pzB{A}V`UOVSkq)Ca{EMy+>u2v(LlJpl%uUUslZ;# zwmIK!tiYG|53N^XSHfo^MD6!k8x-yM1&a7^py6Y-9$Ew-*|g09+>s ziST^0Zv~h8kT*_=I*URnoQaEa4`wc1>XeN#?`+Nf;{-23M)WcB1O_=N4L!W86^xX- zKs?@@AfGk>wU=|921a3s#Eb^m@%`#wMS+iY-H8ob>__9&)Ku4KPhbc^?e3#)r)%T1 z6=42uA<@Ka>G=rOd2xeJ)=XgK;wj%aW`HreTKmi>c&tcNLH2vcyjlDN8P4nz<LNXlaSW1&uIjED*6KsRLFI%qsy$dg_Yw(JYZ{YD!0&>{Gm66f$F!IGYo^Q8b-h?QzJ($&aq zf4BYOWOfZhvuWPI@rA`t?~kut?TqE*XD&ESCMWx)`PCuusDmnh^#b$big;rBWT_#l3GU?JaaAAk+D+kg9Z3uylHS)L#v*|VBz$Np)bR{KIY5hn z9!uH7-?)bOU`%Bv0vpYhb73m^i)_~v9GRI^C+c%MR4;=gU160SMjYS)f< zRFlZdL&}0t->;mcXG{e1j7GeQvRmU-u#q8CiHTIL@h=jD;ux!dSs8qJsex6ntd~;y z>+$C#kWvcFrZP&4$IzD#D>OWYiq0yj2Sdi2dGAMaUZr#q&E&81uc&kp&ORLTK|Dc& zaewO-46@@m3#U{VaxDV)3T3`j*0rS;-9_lJM){ccdbRN(W=lhdR>$GKWG=*|FD_Pb6UnT$ zNPSOt*U(h-(H9p5j553i=lP9Atf}V5-m0)zOFiUP{mazr6Q%jh2>IpA)BAf&qPJ^g z43@r!E^V~p)tCbS0(HYTM(}D?Q#%#u8<$W^MtNP5Uo7WifFCiykN1#SR4jeH7v1Qi zE;E~vqp~&SndK}VcS6O+y%PWfv-L>MCT52gw(iwT~=_`R33?yup4s6d!1f znwG7hxUdlo;Fh^WAS`?V#nX;+b>y-INhB1;`>(`XrGL;XTHx7^*_QjQ)zg8px0DV; zA6k&vaV{*BgyD<`sX0TchNox!$6ADeqYJh#0=9Aij32+*K*<$pb^`ug z=GtDMHq<82V|N=f-nD?izKnvF5TBB+rkgvu9`D=NT9)hFbTt$da-_qN7JBa+s8jk& zkNe!Ma`4b2^JV4iu8cUNdQwRDdH?JA$oTr zPR_m_xli51lfH_Ip`j&%Wt@3)y!jf!57-;BLI9o>`#t6;%hghY(sz?cN#0htyC_Y_ z!6roOYP)c^!_u*PlVs4XiBe&DrMkrQbKa28$${{^|6`eUM~10Xf^b?q^^)Y=$L^nN zoE8edV>|rhZ6pJOdY$dz_}Px~PWKYkX;(MWk~Py2Q` zYH0U%x!vQJI>vm&qE_?S7s&j4*q?gxZ}pW( z_Ki)aa1hFDe{DK{2AYBVKH%ma!wL7Q8^T0)C{dU7WSeC#$uIAe{Ah1xdf$+@beqZe{-8=g{VN*7)tt zJV5+^vJgzfF4bJbf!QbA1gYXgB|lsiClRn)l(I?qGqGWmKyFncCl(uHeD>B;up&7Z zxW|wu;}+b&L@PUt2byM*zp*2%;#gnm*r`hdXXJldS!yWPgkCs+6j)zE;*w?y8!zho z<#qZ|T=inux|5%(KG7%+QY)U@nhyTn4iG<>3B$|@{-+`!;}QG))EN+xxeSghFIyiR zLmp-k02avzuNW=MLgJ|agGSn^qh&E)^G>x8h1AWJXpTMroeu^T&XL4+lb>>XB{e?1@t&8AIc`()50 zOL~YWwK1IswpKbWVPc)*z4eX9@f6sT1l{r(G6ZWzzO7=% z!7Iw>#npCA29Pek0#Zu1DMGanW7WRl@@BfJ-f^7U9jCBpps&&$FA5ax@f)@vV!JW( zyfqYE2tS~sk7W#Vf*Ac3T+fXsg$f}Ote5OQvm3>4N0t$k=x;Rf<3yjhuS(VPEj$$H zXU>&UkHhZ(oHzl$8x;AS?z-r1NHer1W5+lBw_A;{$OaifTndbb;kakp%JvZSF;GxS zDOjX~f*Qgd0f~VF9myCHK1T?+9tcEtYs)R1Jo51ioG2kEz}Anemt4~5Llh0wYnuZ3 z;32qWC)~^%b*+sXDV~z6L~m{t*(!?lTYc)KVgWA2ArM(fYsoEiF#cb;8c`&i#eL@w zWOln!kW#>Qs97r|f;g!CEEB@ZJ_#V5$U0VlK^6{#282&nXCoAt%L~_yt}a$qwBK6q zHv2JHRx%+}PS6i6cnX`v=QrHR0;DTz-W6X(uYn#cW%{IB9N)l_o zgl0@l4Q+wj?}K%t@tp`2x*R&8gkjxX@E?0!05c-7e7^k`I%J3@2<||C?`i}<>DrWK zv7Aoz*0kH||Ks=pBp>Yd#dTA$^Y6n9w3WvcEZX9OVvsMCjS`+Gn1>>b=e!P`7*Ft< z9VRO+FZ2n`9OcF+i!QAPg*=~2iB!^k4gc`OI^}&n3(>3>yV1W0Q}tW_sSlBDz>hVm z%`BQ?HI2>GdPo!XfC1-nkkUVzKX-2zc)q?hLVp@kc@Xa}k4)|(aM_#oX&ZflUSiqb zPdWi<4_{bkz_0&)E!5wNS9Z0klXo!TF6=NCi2XTQPxnqkw(P_<$Jy@(C34U!ZT^M? z8<8B;h_co3OvLoo-0x)ckBiTY9wd7DCjVY*?pDN!4ozMnel&^W{1u;&2rNF96C#Jx zFzUPP!YC(^d#$FADfWWo?|~C>!j7Lp?eN}hlkQi)(<3LYx!_#-UO47jir9=VN?opJDLB!VUUPn@#+^Dg!@)q*vS6iE*!*9ZS_1-RYDN~wN2IX+_^IT<3L{p znukwnH#!^N?J?h?eGp~^J{EiN&uB2mD{_$vEY7@*uu12?I?SdAZnxjnR#ozeN!@GG z_^USl+xt5juuMrzFGS;;8_<58V_0TMi`s|_K8jDOj=DMNC%YC+X_c$wgrM`#%?pI{ z2n+)N;W6Lw)B1az;zzK|q87E%6dLM-_P*M$Tf={hemn8Y^HKof$RsTug#u;<_k;ud zT9Imv*YBT%87o19Q=v4TJ{F(Ct{hElB>77;Dbrop> zUNY~!fh?7U7k+5O=KXis;vLB(j@J0IzwoLbd39N`CKW28`c$jLdApI!VY!t$13&t! z_WFYxs``HhXCLkYcPkl8!yR*}aognsg0QhMu2p695YY?hMjGn%ixhq^#)1)M!|(s|MOkaIy{>_0CHDQAw>1ppfy zd0R%NAwKxs+t*lCVP3U*wavWvR}D3&kK6qW^jUtOusm$?Cx+QvIVSscxTHF-)SR6> z|2kq&V|fCvusl(^GpC2fXHa`jd7PT$YTMLFk_%fiaI?WSCo#*N;+TcK1&3u#FC-`( zTy+JP<{zhn493YIpb0kBNJ{|ZayCZ%KmB|4wqIw$bwxQ+frKyg-#~PIs|V02gd?!a z?e4;^*jpiNa^SDNg&Qe9(FDBuGSU*2ug&}`=MMi2Z-RyANMf3pzR6<%IX-Uf!*~z! z(P!w(%aH87kmKDAr;m+OuS1APkgzY{>~>`?`PE;SUe0GelxZSON^4*2rMF>Y2=7jH zRPoSeQ%~T(64TqJ{*~2M6ejE0JlS+2uy*nmo0fP=y|mMi8D&KznaiJF7Qg*b5rT#L zL<)~u6(mg|p~8+-Rd^c(F3FaUY~=!;gkCIv{mzcieh~1zx|O)a`Rvn~BcfzP9;Y*q zbH8Fjp^&W_#%z%ED`SKpMT|<4$kr|j>Cb@jO6!%tt(5ZoO~0_;U0u_G9pkik3=o2u;swLMLs%{nP{Z(N|AMl;d%c5y3!<=g6@uoECAi{4G?{CL#LUjhq(|wF_lZkRN7))Jj&U0E&2t6Gz{} zJ$MMxx70pSPy+5dN$KNs34*xGz{-gAJ_EACk0C#%F;lnpgnh|HPJv`Q){5+KRQL#c z9J0Ag8xXlpo@xpni-`b{<}Or;8h?6Y6$%Rs=U#^LexHJCfPPqy4OT0yeGQgbLa<-+ zU#omx0cX2h-I%oSy4%-BXO1{QcN;j>4DDA&ZiONg0m6&W{41esa?*V3P2ig%3RMEq zC9D|V5)=c?j%0)A+X;niex-0Qiyz50O`%$T8sH`xU;J1BvPojpf z(g;M?T6fEaPcl!j!?F@4&)kf`H`Zw)ZRS0+O_85G1C@wco^3w=7**tG9NXul=wu0S zhfKQSc(Jqo?1RV}PN#YyV!nhK=v5c>bAQ$x$K`uZ*gF{H-K*%bH?Ao?V6+!xqifkz zqIN~@^HW*_LithJ57b(G-N2F;^CU@x%hZElP^1S5{NUdO0u;@-W5*7{*=vj0gK!M@ z%*U1<$ih7XX%qUlQJX$9SRu>k2kGU1^unbEuivJ}O7bnOSg^~wJ0TH&x>zppf;2H_ z{M(Cz3RpjctQWJWBcnKDg{5d$c*+hgW@<+`18EouI+OsuJjv_k$|3TPQ^wor2<%v( zpX*=a3Nw~i3-5@bk34Jg8uF{BwG<%p<@J#pUqgMtf7ifrSLwmLe4VUzvEf%z?Q(Iw zGsD8ZN2JI--4@gc!cp1d2-J7a zeNGQ@VG{fdz|)=~B>l$Tf+GpBqhR+7eBwJV?EKb7vAK4@zq`Y$=Ir|F&j=ubWX^}U za4(uv!{v-bA)Fl$@q_pMFtylpj!1-yP?8xFKY%NXmj3b})Ojp*3h2>70W=*C?yoeY z+|v+$ATQmj%;aG5BSdJdVp zibzVJ-#d&KKTN!)V~X0qyPHHxxU42!hja2L=H%6}xf^cxpRChae`mYZ%-}0;4_*cR}E*vG1z4zC2pXVm}h3E?q>mcA# z{A5Yh@28+tE4vxicZk3_Ea`PcLUXf&!Q%p7yw#=itnk$Pm7eDBzYruU-s&^pjzCY$ zG=4Vm(R)ld(bzYNs*ltx6ox_v)jb1Y<}U!-00k|v*#ml6#Wgr zc;{a;1_m{WwtyA7Us35l@3;^5@&Ml2An@+I-20 z-30&zvI&4bl)}gTC#Dl8a)2qrjDv?NPeYdfOkZdWAsB@J2NB_S5Q{@i;2o(yT0XQxw?2pz1m zj-CH&1n{NM!SgZr3BpXlFJs5SwC{HdzQIRr%1%G3Lw~hZP}_KnGeMb@uBpf$uv8Wl z6!=OD?W;5~Tp{{hujwG8SHSY}Vjf zH<|IjLIFanL`dMX`hzx6l&k;#MKt&whv1>gIew z-@E-f2+vDew6S=W{O<&xXUC<=Z_AlH;)W*QwP(1|OAl z=8}LlX`_Mh{P&Wd4~3pcy8Hz8G!YT(_`mv+)`k`aC*h0A_jGLUL5ttH=8c!d^&+1Z zsi_dd&W)?!zeW(8c;KnFNcO{xtKjB|vH5SB(AIV3qg&;FCkzZLn!=T3nn*L@U*Cvk zDKplN-$Iv)y7PbbZa6(1Xh!`dVUOPShHq;)e*Y@YZA1q%HM;&F_VeaYx)ngVo~?kYIXs!ZtG*HvF9)` zFuKKPMofI%El4=0;qTEuQLNnE>Vy7RiMF+FGJ}6D47=Tg1S{?<7d%{=e8%?gI0H4` zE(wM$p<0>wPrB7E*$*imp{L6U@U-e+w*2n~wO+&6Z7vcCId~V%b!{kw6aEHwVIO`o zaR9UV;Iq;#)GBJf$tSdPrx<7c3a}(54f<=&qmlR*16EcdS6MYvW*}gb2)& z1E09@Zd=`b4g#w-zj4Bu?O#gi-#Cx3+j>`JUE1M1-b*&Iy@<4&}{($)YU(E1wS`rD3Y6e`q^Yy%j1MX zT@ZByk_>6^H#8bOYGM`pqd3|;tJ`3;gZ+@>8NiWMk_aj5o}1z*-dRli z3xerwuQ<_!Tiw7zB0zpH`!v9l!hpv80!k!Z`Cl&9eD z;w^?r1InT^9!=tfdi~3l0b)tX@TJF2rCFWsXLA2h`bhuTS0>HWe)(Ab<>0eJGTT6v zL$Jc$!dzEFs4hM1Q2*1Fr$qqx)1J{KHLVI#%)eCcr#vuw5}o5Xv)xcjKHwiqL^osc zr3c=OF1)Rz?!@uc>NZrXG~>X}r?w2-t7r*;mL$y$){6 zsU4!8^P~9C+ho{%WX@3}f@>mUI8v8-`ryOd`xIr^dScCeJhJY2B1**4=VVVZ4-kvh ziVw;IJWV)gK?J6t%nwEmzUrKZ=~CS&ErxZ}+%j+vrkbZteqQw5byvU^?Rc+GrbN+@ zsa}BBa|bvg$=EsV zs2Rt$yFYjKmMoaz%#tQ5e4U!-Vy%||AZqG!_|uWMujs%dJAv+7!tGjCtdIIq8W<$AJ+Ri0b@+s;f)k~0Hi`QMci4pIo=J_f2 zkSka}hN&R#PLL5g5Vqe}Y-HG0#WRg}w56jyqQXK~|ALf*i^3$vsF|r==g6hR+0NvA zY~I{y^SRHzz$!>MU}q?8X2pJ;Dd2`tG=!w^1h9ME8syMm5(8BEEG5ck!zH<0pNc;+v;&;lK53?tgO zkMyGD2SaY4xd~N20^R@u&jEM6YOk`=$F85ZWRWdA5}C2kTBRLiYWSrHP{X-tKonA9 zNZmX7e(vn2aX-Wp%saqOcD5j#VTyR(d`VF;*?Z>9R}V9~-K$FG^@xX7>DBTed6H~u zPsO!Gws)*{6WtKb%d>z9DjX?fL>O`n0|duxJaQ*`)TchKp=hU1=$y!TisNayR=o@g z_$8&5On*R=9s~i=bc>TjsoO`b5uM66_Z;!_mK$idOTOhF9tS9@q-j~(4lAb>CXtxCGB&l9u`U!m7{0lC9H%{eAX|^L zL_~#D*g_yz+4RwEHScErquwiN@*V|W>aQ!3b_c^7@?hstY#y?Wi+Ay6E$L0QBP~mC zxaXW1xHXql<#zQ4tN~(p!`9sS0eHbFEcWRCN7#G7W8Hu8!?_})VJjoDLzh(~va&}+ z_AVo zd7t;;Sfmp9p~Dlm@g&syn|#-lyWE3d=QnxKI@iAF31XkUSZc3(gUAdQ)hp(^okfl{ zti)UlM{19Mfhri|rHoX|6T6+0_`*22GADVc{V_gp_g&R5?fDY#Xh@(<8%sYW5^j0D z^@Tdu4GnT>M0IQe)U7Y%6L3>_RA+^o*XF-SxYARsmdSY`T}}qF9ybPDp>99D`ZAYx z=21^+Ui*p@zYBxSvH2`jYdo?PU$cnVC{JYEgWW3^19Hz1uD4Gc#k-bEL;|2(a=jKQ z=3O9MiufR>D0;iZgL|aBV+V&wZAE|LS~}Yz-So_KHR@Te+`HPillv$uBddVVXSGb_nn8|b!>v0QplOLX*?E|G0PHsiFVPUf#& zt=25{?8xf=Z+xi^d4+{)r`P+X4F*+Zp7n~}R>`;{B6wnYsSBZ_!H;5TWV|RIgAv~;vIfm=U}dQ0bYD{*tV|9agZ2 zRv<(quZ=abkv$J^*&)#M*LOYwA5~R_zd_)#e;#)bfEgenRG3obbe6yLihqTh;@${` zOCL9X9d!to9Rx~$UJE1(kj&*tcJnWXaM^!FslGDEUy>}`zU&Fg-2e4g@Ok4S2!?Ah z?ef16>nYsXYsOvWj}AHL|2*yBJJJ>iN{(yyJo`=k-^9FwHx(}>?D0AZ>H^-8C8~#x zF%s7t#)4MQeAa&n!9;jQ+zR}!IY5l79_k$cN<{l7|4!MT58m}aJ!JQ-KmyQ(dx^*X zwI1+`M^(g$U{b9RR+Mes?0;YqO5UYm$T?Gi%0bpDy{X>ZoFDC9(`8!L@orqFgMIg5I&uDbdr_uc#wp>~v zvO(u|avmHGPy^Nbud!|J&pjg=(o$dF@3W^X4Gnr8buT}-haGbw@WdTD zN~ODUfy9#Rmz?b7gB02>olrX)YQ=Hs>4H*ALYAEW^ZkdZ+oGQCA|0PM+-gc4Ykoxb z>C8K>4?uYLJu|Ud_lM_t2ssW57vrxhrr`v^J_HSswLrqN*;<(paGX?f2je>reWwbc z1`1jPZx~iWM)i&N{$6kC{T~J6PaiIT4&++8*u&AOYA#9~65@lOU{ah>!qMZSM58B0 zPmZ1%Jv|yV^pWM}3o@Bd`Ix3uhn%fSR6vBT8 zf!b#ct+!tq04dufW)wqEkj2nD9m@Jqom?oG$m?@Yom@}9=m_JxBSU6ZL_Uqes~I`gmZ z(BD>cxGqi@He}b!j*OF7809$GRtTl^ok(Zr9HaL&bRY=i0yO#l7#77`onrIe$_Mw8 zE?KH2L~R1|mxA@e9`rHl2mP^m=p0lCWWWI*oTIr$@4ZHj6Dj0nPXT{NB}&{Ig^w^+ z!t3oervK3nbPdOD_WNGzrw~ry)5et&M}8O;7|`at`(*gUr-`YE>518hxrqgd#fW8z zRfx5SjfgFX?-M^D_9lKr99ggu8)H3Nt|C1688p=-pyhYRmGF;c;gNJ8WNUA7Mpih! zAb3nYw*6oQ@KF0u6FCndMR6E+P5=702S&n>k)8*NX8{tFG~w=nlNZRzwE)tMF%*>e zw01st5>X`9ehfToEM6_fwD6C9)5lYPsiX_xXBb$JuSV8a6vwie7-#aqq}!zXr01mf z=#f#JQPk+sQQXnMdr6vJq_ViaqcJD0`N?J7tYajNl#qe_7c9O<01an8U3H!{{gR_q z3K`})5NRNAhai0(7QPhfS_UDPZE=!Dpe@x`lyB?~{<<;MpIZB|M}l9@A3R-E6?a^z zki=Nj!qCFYBE_P{;=9Ej+bM=~4CrPys(%gn-rUDXk3ntrJDesr*;UlM4#vPjz@=N# z?6tr1L+_35+q#o{AQft=_tq+Yd2bStbI5bb3aCgHoS-6~Yd|X11$yd$0Q^3gCId$r zmW<&Pu4y`fRMe4GfmOlPE2~1QS678sMOLq^df~RCc?ow4$lMEQb`X(fqJ0JGpD)#L z;|j9K(U*}U8MkrtExmP(aVBMJ}VdKexwL@4*^(wm)&$M>AbE;>N z-6$)5EX0R^90zC8Y|>)Va?*OzcJlt@vZMn&@;Xao2wjY*rNd_XMS!%xj6x}5R>l)+ zw}1Vdhw${R5gd+@Oj#-}ZR2YX*P4qp%FmvIVX4H9h|vy5Cv{y8C6EgAnL9YZ)5ON- z%tg%&&ArT1%xfYd0tbq5#s0KcZT=n{_*{oDtj;xJMG`qCUQ#~K-k!cX&G5Cr#Q&mU zRX;E zj~iwSAwcxx{uqFElU3c@5Dz!7#rpzr_1c{*j(+=14>}1+PR!q zk#QEXE|tFjeNjoZAn`MzscdajWGmt^ER}Yobmik`xBQ$n=qIR5uBWd%F&|p*Mqb-7QUrh+Xis?ACyWEB(ka_ zdk)!ly|@WliAISQiTCf!D@BAqI`{?JlQdfig_t_#1IjIRiArhemHyZ?+IdKQ8Pm`7~;ju#MfAcBcMxjI>PMIg$fRsy@hD3 z2@LNzLBm2XloXmzB|AnSroap6Mjt=zv7b31h;)UySs*WfoMdE&(-QJT@}=_S^Sy8C zdgSr-@E5k;vHci>MP6h}Tb52sBWy0WAu9tMMN;BaI$g_a%M8uuC|v zcPMe4zz{|;p%CEF=&0pjiDiTgSA@xM3!l;^<)e=)YJc9To2|C01xE9K8m@&MU3MK!wQQarA6q^y{%54|j zzEqEukT2QlAN?5mC83QnRg#dSIeYul%lv~GmsMG=)>A;EIw`@+hbNcV_XTsUM@yA_ zxOkN+HOiUrx$?|Td6^e9w3>(6Dh9Pqj&SGKR`|;V_Jq6&=sEN7+mVXh3ff0h8Ic!a zjM76P^t5@c_uCpx_}6~s7S91L+0Q6c+n_|Z0sT@f0hTjp`Y1gDG%6-Ll9Gd$Lp_GiBmGojirZAlHs8%{KwB3u>9jBp3j72;gG_Iyr_-_rhj1Xulx#}Z~{C5_xb z#1Zqr=+~dIF`#G&d5rk(PclUqXB_1`_i%mgY!g#%r&0sG1aUwik*1pLkYsM1vt-#T zQ38P`$`ZvP#R#D*nYNiXp4og#7V3Sikz+@}?rio;rC+1>+FCj{fnVq3xNFd|zj6A- z7G83X5v3ou$>3DZhhUB1RQ8i;7a03qw(4OY^FnlVM;uxJGlYek%1m|$jo*{@+qjS@ zr$g~!mOvojshD?7m&^AmHxqA#7&=bPTmp=7o=$NSqVTt5sIg}(Ii*Ft7A-gPn$xiwcnnf9?1YEkD#@)h3Xs4j_4 z@oTXnwuE=t6%{L8=Ie~k!cyiR-({58A9rCEPpBdcb~OlCmd|1?ZRrv67)ie1+0AsY zg~8l2MfrWm7$cpW)c;7*HV~p6cmuU{p2mdlzt9 zF}+iy%!S`L301+(r$m;--9fpu&Q#{t?3a4NYA%Cajt}{Sgy+xKNu}Jy;;N`dmAztS ze;)Ub(Iy}decZM@(a5qD%p|A4b5CRI2}MW26rMcZ?PLama1D}-U&XI)x5Tipd}+9t zE2@0!mTBLwJ|m-*>nE2fdCA3^MIbpa@{<*IdXAxdDDxVHb#{Psp{U!|Meyk@QKr9< z&SG}mqu1o~7AqG;?+7vItZU?Gnl*Z9iudGbb%5BD#V#sp^Gn*AF;eo`64NLZ<7+HQ>`n05!h2qlax34B?XnO-8hxy=nE-ALF7-g?#b<}R_3U{D z79nPF+870W(l1wDh}@cJJgna5+<2`NQzj&J$T|r`P`Qr z%p3jkZUR!>(tC8&E!Q-~1E|jK`5WOUFx&^%ZcNL+Av9#%L{4F8Z*us9f4$ZBFU-%Q z5}Ms2p;^mw8F@WYsvNEScSTNt$JKWIDJX!TN%;PDT|(8Vm>Z-oUzm&#O@$6lry!3f zr^In%Lg|ra!COsSxvjX^7JRcc%tHI-ho*!O(cCK+t3!_(ZSk@c3gYdU74Vvm{)&_O zF&^U@a)q<&kreUOGm-tTAbv7Qj-9?fSMLVz_VtMP9~&)(+O4mIG+z@Z*>3ticn|!0 zzG8K;RGAUcYvUK+ARwsE2v(XjoAHEBYvD#DehdU;B%a%AyiZiR zpX`Aoopj5wBxZC%IQFx2YJ)=?Lx0&LFsWjLsRl2BuqEI1QV0kbHM-> zO9;F%IH~50p?L!O|_-?Q<`FSH&*<<h$=xJzW%hIM zZ4U3uwe9Kj-dD;rJJ4n64wOMw@#+AJ*=0g^4T`9{k!Ui`UF;i;QUaH(5|@h7^w?9v zcxx{WSLps*_xqCeyM(N%bH4}P`^8u@sSW1+KztsKju^gi1%SqM8oL;x^*BM=snxvCtKi;8zy78Mp(T z$NPFP5f|TSMtVMw&qr*EAP=w`ej|ebUJHM;gz8IUqmC_Py9NCMAgeWS3NoaZWOYqEc4(!12we6-jY_B%1OeFb$|xYh*b)l5mq_g~P+Q=liVPK2-X^?RinkmEG6L_egpq)9I`Ws-bT(BCZK zeGnqH;)1G^G15X|^K3VGDE)v4Sz7nz62?-^e=SwfQDLPP1xenfDHXTJ=gGELGMU~p z)t`=7YRhM#Hu&Raa>$C?%TKsAK7TtJ)2<@_pQvSm^dQgxUVSm#yPpw|Y0Q1dqav2! zIYhuC3XdFwEtZe1i$F2X2%8$BU3LGQyu}4F9~vV|UnUXtg{+`I{y-EPDpYX=R}{aV z13f@mL`tc*(ixAeNgOc}P(NNY=>xO=@Yk%F^K4I{<>yxeFXdzF#t-!Sy9H9&Y!)}Dm^$yCP(`oZ@c4pFUa~L9qNj?R z%5FjjfqBr23a21abW#9({x-VQfQt)pg03 znEctW;2ypN@rsXPmqb+k;oiE*2uIHF+8wWm?&~e_7dPLOF*^?ip3TTy*njne1DQa+9|mr$7EtZFw*wkw|#8Gwso|9ZtL^P89u$+U~~Xbqz}`neEu-U%+-BK z;Ty6m(?W5dy1mykn5+~TUrEFgqHzf~+;mE0V_B8!+OHtZZQP+?W)5k&QD*V6E|7>Q zlyI+riV)G4EGlQ+ql!y+kU7{IfLoDc;#T7lFo~&&2PjhF`^1mf8B(m(9~`Lh{%&N( z^@+338XvN76%lB?h5E}F|$aUj#A zXQG^=`KGQ~SSI|8321a{Xj7Gn70~Pqh*NkM&?B%>`IEmB5JA9>&c?lah%Hs{M)Iff z=kvc;rxN@CXdRTgc^yDf53OJ9BoVTk6eb3Kf+ZNeZp_?i<+!NO=Hdht~lX3vig5B5b6y7f_I4ukkkuV^@%HA(= z?`yWA4lOPtSX}0I{PwE$-S$7I+9#0?kB+L;CSsk%P|yAlq^leNa!~)LBltobU$yRq zIDPIAsV|DTAaA-saJeleaaZ-eY;g_4*=!BzoU$9BA%@XsTD|4pg=Y^u?A}XTS2CN zZ&~sTUsFa9b_>nSUDX*)h!WdsQ3>b1i}=y&`QE=dhgL^H$>$wJ0v#h5jrAc%72)Lu zvU%u5Q39l_exQt99-|5bC)D(|>-E#X`tfQq5owyhq5;pY+6g&${xg!JFaH{dcQ+VT z?OS?3a>VS?<1fJ0|0yh|6O-HW8vU@Qlf;qQc5vx^vheb|U&84+A$cLz(de@%DQ_cK^^ zy^vmqO0|A4DEFOz_P!k`w)hJ0{2Yizl!DXMi=f~T>boWMPxoZU8a$lIZ~?spy~Xd< z^9cE(#&ai#rLV^^)kSF&$$TI!xA;$u@uCk_N$ZIL=HcO{IYZX$HxsH@bmVOjN8*0S z(O~>wqW`~i1Ucr`6A!PifJqtcA=joczc178wR=qj=&tE3NU2(B88~Z{ojxW}=e09$0bS7b5;|*bPy|Tg zVbQHS#mi%q=-Ra6Zp?=(@K4zq=J42!2Z|S-dR@jms*07doxv1?E>*&c8f_U4pJoh3#jlDM}t*B}imZ`XND)mRZ`!gc3?&zyv8jv4`%P1=r z)C`HLe#|+sUzEPNq^fm{Ij$M{FwTRA7 z3@9et00ifX^tn!;6tu~k9OI}MiKS6r%Wu*dq&(Pa%Xo}UM|+I;k2hky@~$IKJpRmQ z7X}`D3@-F8*HcB3xE#`e)+&ss-GR3uCrF;Ol_^^~t0sDF`$cN(O9r>)Yr$O{Ogy?;-@M|IozNFBb6SS8@X26CoB?J8 z9SB66t&wZ$Zns_n)X(0H&s{3ba1{5HBVB1FmtA?^1Q|v%DPSD0&nx>nZfKZK)gi9d zOaw!9`;aFg%}@!SYepMcQu#_Ub#~It&huf-!ii+@_x%}6d@%b?UFT7W%nV4Fg#4(U zgAYzb->fDeCxC$-AD3u7Nz%;d>#6@h1#8~<%WY*C zX)b+gIF)ZJ30O^ssvce3(7@Wfg}YQ3v2rda%LTqpv-_BH=vV_M@jsy7ckV|Y5!;)MsNV%FWaZu>&$oePRL_s!H^lQ@cn#r?7*!$JeA6D!`YyoOX7yc z`;byLZjVnqC?u9^?1-)I;-QKm$2{Dsz^1?rnqIw|8g}a7GY4KqGakHRd0H;76ay>r zz!v|Q#GB_;d0c4cQ%*Q+^=IT`#q>`(3$;w##Bl5Xy~>f>91WLQ3!d5I^C({Cv;gT7 z^tuv>Tow-UX(6Y3JIqpu0n*ziG9hGCEjwKr`$T)8Cu?xB=>1n`?r8he#9OejV7tfur-zvpwpg-%+mJu_D zuQ*iy&-Eyh6jw-BfrB+I#-ziJBEB-TU-sFo5Nm+;=afAY z{tUh&DcTXr|`V7{cW=6W3;XvB_wI0aqz!o6a)Q=&$O$}4ckd7QJ_8S+-d^t$6 zCacjdiPI~mF|W|2&=TpO#$OI32{)g??ch&Qt=5@cuV{7G^piRGVoW6R8r{J$kRCL)SS&Qv? zj)^0Dy=Ly1RfB%1Rmy*Ddj=xhmwex051Q_6T|l>ps9OR`(98=n?QlYbvHn>pWUa(D z;HFv-GN}u&N=Yt&7$WG^O<*5vSWXFka_qV(;9Fg_%?ExbvQyU_vXR@v;BfuLPY^bn zk~E(M+mU!3f(A#f40+fBD8z!)UT-cWRQ9N1+kKws! zad4kky7(6hn3?1IV3w$;NM*R%|5-7HD&HMUH%!Gl<}^;YPKpSKjUcKEQ<`-SRaCRc zcmjKfmkG>G+d1uuNr0wT&+T_afN*u(tuA0}C}v+b5wu!dxHeH|A=k0y5KfeOe&TH; z)h@D<;zGEt6S>KH8hM(s@YS1S3^fd&7{1Fj(hPQ`cx9JxFA2Z`@8V#q=aAd<+PlQw z+yLoUAu@VD_5kO(?+oseR;$9`=MLfdMKzm`Aqz|O=p6n2V5irZxB8##&buu?#$1(3 zBPO`j`e*`+`8wVbYYX~Oz4=CBmE$pr0I0f{@U7JzJzWB{^N)~(Fc+RH@P`l$l+SFn z4`%+OnCM^Lhv09>QmIbE65iS)pfXxtkdv?UACv%4Pcn zVs(z+N8Q!mYbNqA9=jUhM6>9kGs{Yc^nQ@9FD_DGFC`s^s%41rg zZpbSixBl`vejXGqT^dMawNphs>s~g360z|`-I9VId+Vi5+^O7EOMZ|G2vhd31zfi& z|4hmA@uz8i0H|I2J*|?|63h1JKkSUa>l!I=Hm|@&Idwj8OzwVqS;P5hVjO~hQ$EB0yxblK1 z>MItwloxePVTc9KU{c>f%Ks~Z;($WH(=Yi(KcGN@Qm@R;Bq5xkoX2Bx>7u4~iOoPa z^<^vayn=pki*0u1x3oW*e=dKOVs!Pcth*P^2qwzw_x9QCPDM3;`!kXDXX%9xyNC-~ z_a?$FI)T6p`_C`0>xC-P`kf*%{uc#Ve@S60lZ*3-*+z(p2C%*P9!({3!N7Tn3U z#5u>8%3AaJ-Fx5}CX|n*b13!RNqxNhmxFT{BIi$Qb0NGC4saqGl;G`2P0sK~h6P7PkI5Lv9-Bb$?6&PpwQ;rGYw4GlV?v%m1I@=?C6D_{4qQ?z$? z6?lwmeR$kR*obkD9tO!=KO4k$!(+LNG;l+sd`3z68(E|`sf^I~<$boEx+QHTxh4Mz zWxcSyT{U$G!RC*^UiiCTT_raN!|sY=+VtMu9FqmHxX*Dwu(GXESXKdxljJ>4nmKk! z&?NwC1;*acDSH8|u@G2e@tY*ja!{tsY7``83lNf7YdmLtJUQ2WE?nZx570&&w0m0e z&utnI?6u&Nu#3Yj)<%vYA2zZnkE6!<7t_Ula<%7@R3!z{`5aLi;`WmLx^hmRFjT*!l-Nr3#6jC z?F%mSfHAQ~0y)F#hdRGz8(IpTbM)(%{}O6ORPV8U13wmg^aEbq<69@vfVYNG*dZvn zsZZ+rh=J^dv=4Aj61NiFo*vAju+Dcra-*HpJZYyh?2w9OL%$IqY$3|~t@en3oZc7mU|*>P z@7X{SuNX3aUm+u^d5d_7>OF$Wv2z@8(8PVA;@3o)R<~U&Op1qL8+0cPBXm3oyk`ad_{sk~LJ0+_$Diu=m#$TlF z3tBzFp25^+_+vW&VcPu+o|0+_?stIvm#pbQCo#_xy596w3hp~z(4~D2T3Ps&uJxI& zmd%bN!L(pmqurVL#lZ zA~#fEB)+xo+q+7DN=Mj^l`$Co7Y=h{L2FKlb9`R{JE-(0z;~jlVs;w|JVnBO55*)C zUI3juTM?=t4ZnFfon0+X<4M!l4Mgp9_-Lkb=`FDHv; z-6>xxSNT7WX~9KTuXWqGjliWRC=3mWV(-sXk>fx!1+#2BPG>#LL3sES-nLuH>6r?u z@J!NHJaCzwxCv6qOtr`%eI4wuv1g-cHGy#=`sBssS`l#Q-KB8rXogNLqBg0 zVO{ew?egLB4a2&Vh{CXK}M2EV%}aYcFf!enGYdE&;isg;Jyyp==AUEIW0*C$PlJe z^ku$BL2xjx_X|;ndavDIDtyiOz5R7}q-eO}{;iiGg0oY69f2ext`Y=*e7TMtK2pQldfv_4IUHUJa7iS zcD@fRqSZ$TX6+yBqUj_F!Zd44hY`?l?3F`=cYPtT4vALdr$D%5}b; z^xBs{goVU4q^^hNap8T+in<6r<3_b5wWV%Rrv@C|Q4#^#a?lb7p0n8izeyb~ zFhH+|gwqP~*)&;&&3w-M3KspbCod980HfgYdNI3-RzEM+8(K2zoMSDTg{?Z59ujEs zu`>R;{@y$=d0)A;{5)q{O*>KaT^fmrf(W_v%Xo&wLm$8F)@VPbE@yeIhb3U+n&OX+ zjmwIc2$e`_Zku(VD=U(qO6Jcl^>J#UAPMGxOXsF1Ur|ol0S}AMd-C&5(o?w!3??^w zIcbrK&@!qR0Ah%>{B}g2FQ|W9xoj>`YR5KMZR9Q=cO|9>Wb) z)BN$lQ2n7)h7gALC*4vOA(}$Hy=`W zy`2yjoR`4}p;an8rdDXE3{O7 zRL`qz7QH!fzVP*V0>7nd6|cZUwi^m3=A1s;#uW9477BHox$6n9pK-dO7tZsOwlf{f z$_B)^GR7Ygh7>8AGL-wdw`3?ffTF_Tq9q6xWe&iD7=xN_G%B7E;SB0z-_W_+W=-RP z6F_eucZE5~*s&cl02mM60Qx(m`2lt*cV+3fSxL`i?63?@qz7;(ukyOoe7sf1_(O%E zVyw^QbDopi=Lu)bHG_v`mk_|_>j7Zn#=ryAhH%fb0WHs%k6_uz^6XOjC6X!v5XHF> z_hhA&s{H}rmD&l~4i?o5%(Kh86j)M(;62fJ@|Mf-%WIAG&g-Yo`r;AB0NwVCXJ>nB z1oR6_N5>)A*Csx>Z9Pw>zgWOvHLwPn%ymZ|D|<)f8oNzFji?naRnqIv9R03DpDZuj zw178PLf%~dX*UaE7vaqlCF0dILJ{Ho*A?vO_yYFOkNOwbxYv8h3`CtQXC0ChFGA#@ zUVUIA&iR(Oa~stRX+Mj4_d@x&9C6eYh7Yx^!9tFcyVI)%J*zoKZD(X&rLtg{&msulSS)JsObEXRy_{%_*XVMHi2kgFLF}3B0BSu%KkUUT5a<JUb#En0yG-x%} z9ZyX4F!W#9$CD6IoP^d9CHsA7ya`euw_t5mYXt$4AAY1K-6yA3HSIZ&c{?0Kr~mE& zA+sj!iQKf`Tw4JY`R5umyr45vKhTITs_z#%Jcp=2;NDP~T}A_lZmXNe_&&~(JHhNY zc1=Z7?2=`715ncG#>kAP$6}44Cs6{6rs*wH&io*|eP}OoBDI6=LBZuym-VP@%mVT1 zIHKNc$i0EyCCR$hZ%N@qGUBvXYj&vRxHRk#WHjL#qw>2*GNzOerm`k!2ZFzAKD5ul{hrG}MzF?rs6S zB2)RqN|V^Q;omI{-$`xmwXkC5=zZy6`{tjdyV}EUsW^HYVhOX^7oKjC-M+uMS}Tn- zukC0W)8t%ltuTte3jK>YJio~P$rgl$99d;qHRs(*wl;zzt{+JgxC}^IoqF)AlQ~1V zCg{wvo(FDUCmb+e(2J55yQmH3l+($4;E-y62U&F+-r z*t|WQ-cs$$X`?HdgEdiu7ff!-sT3>JyzH^eD5V~Cc%euJX0uvf)X}Yff|&|2=|YTl zK*`vfRy;d%s+}Vc9AKT5sp`&_%g{^ilR~)Qch_{&EvpwP?rUs2DlL~crm=38&y`oE z8s)5_2u#j$nU&uA7H)s$G~Ki$eqT>4v%KikxvQNa_wqhd)JUPGoPK4!|2y!j2LspN z(YZ?5{A;tE_B61TClYR+RU`~k5(}y8+bFDbeXnSZVKShsSaa4{Sn>nt}rv(?!usCS&;?sps!`aN(bOiL%$_Ib*&ewmOZmLjAI z2Wg}i@lgwV_v0p^k!9pFkZu;8k1*Wk)-GV6O>(c=3r(%sy9xxOJBx3C%XF4g%2F?y zhZ4;D%}U8~t-(lJ1+8ga+}Co(H5--RAeUi@w&~f5!Vu}pnG{jit037;Q$O*Jlxs-; z;`RWJ8FuL-c}o{H-YEXfdigpWQ2U=aR=#}d?aKCEQh}7gK9)P0#as8<*4s{~#u6J6 z3+oe?6KCFLR@in(+3eY-(9$8AojYL7&w+jryJYcC*~TrKmM;u|tc!M;I1Dn~pEIsaOa#<%(Pv#%5&p^WF!1`s(w zL4)3QO5P!T3-)6x>tVfvu1i?^+Yl{IKL#K@ZC)8^a$lWXRtbDOm9cNCaWscap^wcd zmf(CjF)ocDzD3~CmZLFeJf1#t)YN4rC0R3@IQ9@B!FybM%#6Pw=cIb?f>=%6BL;#K zkXheEnn|5m-z}4!y^M6(R$tW6z6cj??$lZ7`{w001uHJOly^clf){NwllV-5;F zuFPNU(MXX|$b_wjbFG7lC~o4`FS;4OOpX;LBSQTd_#EK>@+ z9Hz~u$L9N)W3>cbZT+ncTgrgQQ`aZuiWhKoy)e!5b_Ze8?L{I|x}hIWnMu!sg3GC- z7mt*$%C`nkSnlG8U8y6>v&;(h)MDYfy-&bDS<94X`I;z$N=NMb8cCjuQ0>G6^iEmT z!pb}BTlBAkT%S!~Ei~USt>SNCRnfD2{gr|ki9U5C_`e}nB^}Oaw0;vy`Kl6AV~CH< z8)lrzo0IC3Uy3RmBKw5pZtMcjihq!0{i*R~+$5VA4+6hh?fF_~orem2(IUqDiffR@ z_`S0sn3tV-@#+9R)0T5o_gLY|9mEyFNKD6u8q>QRlOSFw?8;Q3xBmLhHqc=CH`tYe z&>B)d`T{?Tz}C>=SCA%Mic+_WPBVU0D*Pib##*d>fVV|=KdH^h<6QLc&=R zQYvQ3X{@v4w4!^!P6?;t{i4U=&pKo8Dta^D?C5XtJcF-i*>NU3&@QEb41+Ad-4OGsGXmdVR-OT z+JVPsI&g{A6Xhd|J^Ki1z4MY;-Lm(-%X;=^q!SsP9U;q}vng)MPkkWNXT}D;3ZStS zPBXVZzfvxSkYwBAHIfo1ij$!X=gcA$EIeqx*`d2m5S>C0wj>r z`2uyT7eE~gkG?8!>YFyI!U$2&=X(!ksBzpo&-05bqbeTikaCsngcPS^fE^Fy;9w}G zJ}g(Yn4BR<#5k+}0p6Rp(|GA2Bc32u%aPE*++o^L)OxD|smxc*@FXA1bzllAPaakK zF=30r8faFEEI7OdDg`@K&dv4^ZWOz&4_MgF_GCA0bl^kA#=1AEgHzIuH<&j_5f7wXCg0p5inI<;J6&LIXF z-EkC>OYKUR{R&)cTd4Cva+Z31c?PyC<1Kh2V*km$+;>t%c6xx_M>gAZHk1ixb@XAWVsIet3Qa3r!G;eqA6!%M6rrUs2QIAzV={iB1Re@|(vf9c7^U>UMUK1-`rlpZ_KM$td=-2N=T8~6 z{iNfhGt|s)$5Ul2-frG{Siv`>|qMXpVMd8Q9nNbRA-{4Z!ewj651Js&ll96 z>aBKva3_TEJ;4%ZZ79XA3RB;cc(HT;$qAA%L#8V}U*Z8=<&5G!SNvT4${6V!4<9EB z+SSOP{wrZbbUd6I~w)X+80;8)B zU-Ukxp>e8IB*J_KKB~xgQSHPHD$P5t&za0|P4BS~MEzR)TAB|~E$4299Kf@-LuK|Z z{U(nBbGRW+vq5ADH@BOCPHRZmu5rKh3RkA7e$!OnVGAlPTVyu#x8-J`93$!u3SpKu zP|TcA2KfkXx@)t@X5mG({rult)N-EG|4MQriz`MYKv91N7%qG2=A;&qQ=T14u1F6= zL9*=^uf{wDvr-k+sYIi`%D*}l;$eMba*xqCphcL&363u2b*P)zf6cWbr2PZ@!*cNT>A z*h&&i1n!B-j+;*(qI>m zQ0#|fw{2_Og(mJ3NQK=2JgXs zog3@jA`X%rMwfUdvIxlWaYpfA*pF;n!+~OaLtsrY6Woaa!b9zk0zN+q(ti_kLlqf! z8L&LcgkgMXe!yAr?a}F6;uYY*AX$gdff+eQ0M-M*{;ROB&Ja0T$+=Gl#2t{6R z;_4kc5w+VIMYIavc}9?GOxi76YpCoV+P(aQlTgpZHH?-4+Hv6PKVu~)!#NZZ(cf%G z1WwA&s2~(M_%V$Zm#ec1rX=^;Pj&&d!DM{`Ch@_n@GcR=JKSUi`Yp-~$O^H*M~l@{jdw2NQwzFf$Fu*cyP%TXe|7-uP$oAl^elzF@*;XOez7xZ)qv zu4NL8KdpU8zjOifqb#awm@J!aH+j5~A4DLF-u#;(i3G%vJ`cm7gb{McpYhp>i9&02 zH_QVRg%P9l6hl>^x*veCC__T$e|~}qa1s$Xga(*<<3YtTB)+!@b60}u^>5f`FRr{( zJdHqW<;k;1M)q)Yz;q7r@j!}~eEHx>H(4n)LdBU0a-BGX%95wM8_e<)xiQ|Af9~~v z9>gv!ewZ9S14e^Ae2Sg>cxvs(h0)*WHwF<7I@8@9X64wU=#Q2E8D8@-oEfBs?|=ot z!Ubh*{-FREQ@Sr!8t7Ie4}-V0xZ;qFWx(9|hqWngO4!Wv=k??QVdk?{LsgP~4)vVO zFnwku_+aGBjCW@f5gneSam@~IZAPHtC|UODtt}Kr*dPL-IUg)#KkkcJI^IX4Fi>?&CfGNTc6uig2O5$To>Q~a1MjZw^LO{1tD*ZQBE z8Q;T}(nRf*6YnCzKEVQxy8-UIPe(Jat|%EliS$layaOv*Q4O!{dPC5?g*D|M(Skr$ zoy3dj}2 zilKJiH4P%lk6(I?V@uX@I`6lptH+49T8A}(*J~z8+*g$snPaFQx|J(BW2g*V^8{U6 z95)aKs<=Ku^9_<)3PkkoFtL&7q6JdNkia86DGMD7@clq9USN7Ue%rvR%XXVPl zi6fXFK$&&>HgOSSZ7_=%+}lhH-r$WCA@uk4euZM>T$77{&vbl|1mmR@_Yy_;s5^!A z{db8vKcgR(*CqX8jK1kuF4IyaF$+y63_Cj;XlslF7OJ2!m_>0}%d@W;SXHh$TMqNJ z2fn|q^{^bFglC~}oDX(8DXQ&4!|~i{DX5uB>pCcu53cP6s%+t9$w0SMt!w9;`UcC1 zMV2^)jpCOS@5DEJ^@5Ns&9Cp+?j;eKt<(|~f(@)fkSjkOFVj-!*RSnn+!$Z~?Yi|VxIrNp=z?L`spdd?H$`X^KX|_dYXPe&6eR z{jO{N=$cEO$Mc+XpZnbR`~5oS86Os2y)~pEHn8uT5kW-K#w)X+Z8LAA%hS(;xvq8^ z)y1+C>lDaLfF0_R;Y)LK%cNTk(&>n$!psxxy81?k21fs-#6$=x z>bekeu=)RluWTQq@;L}*;PO`J^e6ZHUTm^V;MrGWx}nR1$2cM6&N|)NEjOO)Lg`x1 z<^xwQA5oIQeK9DERk*U$tbhi<_nJsNoxx(n{I3D7ay6*oc!qTI2%MN1XrJ}H1k2glPa}yb4 zihCDp`m?jaS?Do&E-A^xZf(_uk<8nxupYg|8LR3@CVwuuUvc%|-YXDh$G#l&f)yc` z_xfi$rphvJN5Ql8N|d-X1@Ga5XZM`DCy|LsR5z~AG-prd zF4hG=vARQr{z@G%Y*pQRwn&T>0|&<0kMYzdnl$ZyDR~3*(;Zie&FOe-%U144RR}|1xxx{r|@0R61NsWKXaHRX3)RCqx@~^(+aXRxbnjpr%t5R zHZlZ%lDhW@rABo2TW>^4vdV<%%F`0Zi)KfU33!Y;e$v1mE8YM8%RTs_jCwiNfNR zhB#Y`M=Y$(&WH_Trvz^)g@Ln8-^&F zNr&Z&YHHv66qslWiX`BQ&&{3`);e1(0<74cjGasiumL&+n2K@_vJwDau0si<^<+20 z8L4Z>t7QLdSx1nJHL)X(=EaMYTTKRW7$8%`VRYngOp1jqcdvm137Yuy_}+Ljw$T;j=ZQfFhMRwGwUQz0!HdZ9sbWvGLc>1rpI%JLdcmka+0CXw%^(2Q+hae!# zVU|WW%B#zy{i+2V89mVSUMwjQOe@mWzJ9W87p!EcJWR211sgSlB00Z&{42#o*bEU9!L%U(*=ZAUupLw_TWtD$9GZMpx zB#t18^s$-o0b9N8Nb{uvC}fqN{o+(JsU(oXSKBYev0`dA_c zQI}SmI&@(Uj*1joP&H^NYq`z<2iIcl`Gs-<|J*&`=1>S*>UDR4@EOT<*XDkX-&9{W z(hP#zUWpL=QS?5@aBI*>0&{nCOOjj-Vhb8#;jFgpL5m|^=NFPi;Mh0*viAOh7B)6f zwJ$fB2gIGPv(bkqJ-}}ggG*ppQfTv$46Ps$Pt*DFyrRB=sxwXJshlw8A@nFfBPqF# z!gAF763e{~|2S`(3eS{Fz-IIxIQ_I^2kAK=-OMzBPc{iKA>&*Xlh^xFG`hhaBT%SD z&eTg)uwH$^PTBSOmNz^>jXUOKWGl??3DcC8R^#RJD>0H5yeVi+)zV$Xt^jMJ7(=!x z+3VpVO_>iaiT*OTSNY&H@P{J5?Nr}`0@uz|RkyCJ1KN}`0YKLxgVEj*_>5T=-`*ms zJweuG>F2yu2Q@-R&csapJ)b5Rm`}}3lFQ-T$7=%$7ilWXCqqR+^t}XnB*aQCaDmD1 zGxm=L-vS@06$zZ*E>8bLtG7VKR$%FN>ckojwFU$kK`hFz@8lOedwa2yMu~0D^KQkF2e5{H3#Ib2i5fo#1Mz zD?9BrGeCDsIbrVPFCY{eL~+3|y$iRA4 z50K_}>fSu#I3CK#+W5u_x_HO?!RTQbF#x*BOGr0~3r+o_E#i&pv8jzE7Z1}9I%AQZL*$6ap~i;r>gXdv`JW$PHy2*R-8 z@Ox8W`v&x-{Pj8dPVW%#1H9s4&Lli8L+RYN6HU#s2Xm~Us@G&?y+7r|Kd<)gAcI8z z9t-cDsME#j@t`iXoMHMo)I#+xNWbTacIUr7qsWV=&QRc(X^2;i!vDbB-0sFxFWtxz zf@meMVt5I{fdW)cA4~prC>}2AwY@}#p7w(6yYYN`(yP%u-I5!u&Gp1Xv(~i6+<&g& z9^*ebhSzRoCvi$*Pwdpsge0NdckF;fJiaj#76->h2D^M6y=8$mRXa)FmuaJGuirUP)hOe_X_cHFQ%<0=R z^(U^-HZIth$&#%)9TaO!^sNR+e2ybx`xnjyIPA3_XmPG08otcDERYl2hia#;a~Lp$ z-p|BH*Iqs#lr727TSV*@%XhFYb&2|NWuer!m2c zQYkv&dg&tr zYOSUD4MJ2oj0{D+#>{*xwcaw4l^i;N!`ll>!b(c?zF`o_CqSduXdMr;Op5P;%7=`w zN5nqTA!%p(eHmvichLOad)o;P=d3_7z9YvChNA7&Tn&C>&S(SpP!xVWHfHmsJ7(z7 z?thIzN{Ep+fvUNaQ0@M5#mUmS%yY007`%i91Sx3yn4M%_icTlVn`(1!ki-3yNbBC1 zAGaw_Bsqe#4kxA;8fqc*`emXHS|=WWjmr?{t;-zhb98G)XHQsyQ2yKr=%Y}jxa}7k zbV!=L4IfgYio%MWj*&}`Icf$C|M&=Fqvzt?*TEpaI*{`E7l#-nI*E9~20*On4yfd! z`L|AvcO!x7xBy6%e5)e+;X9h-$5$;l0U0JcPub;m2>eMZJfhhX2kWHO8+57UQBv5> z%%e_gOr{S$mBZDh5+MNUujnmbN{dB-T(F!y&$wcjmp-SIv)CkKc2sT&uV6Nij|) zHFIm+fNjGgb$#hpKDhK*?zji^z#)WgVlB=X8K{{@Ne#&M1f-g__i@KAKatrv@4HDj zG?9#JP5@=w({0$14J}A#+_?br5VHB2|d5%rrZiuZX4{6wTR}<_U7@ z7!X$=!I+vqWjyM!aV(D6xUZPi1|FEIvEA&j=o=S4 zAD;(HjvFj>_x4`j_UOm=&t8%nNlZZqLx*{cQ0h;j`BhK9dptAOTjGqATB-m!pSg+I z4W`jp|JsvXa5DfE>i{D&8OTi@(1_h#Is`%Hwub3RWK}p^c7og9b%C?8QSdo=qsb4} zh!Cyc$y^JnZYgyhT2H&P2@Fu5+@MeD)$`Pd&AUzZPH$n&^m=J_SnjXimA^mA9}jtG z)26G!aV@>U-v^Pi!*Lc#wqgVo%ICj+jCiBFIJU0{S(#S?SX+w)mFCIf_8Oc#D1@bgXg|ai%fHKTaM0OLCnOWb8*)zL1Rq# z*2j!xv9y+K&l-enKx*Ycri;oR*gPZ0abn&ZJ*pD3)^K&W;xW6szc9bFNiczWSsG64 z5RySvFV>JJ1VOE&(5|KrQR^q!NST(ZPfR_Ujgr7Ha;^5?M=JV_q5J}q+>d6VhlO@T z%_mt3O<0SH#7c0#a9*^k=%Sl%r`eYXIQ~zPGDnq7m*AOOqY}__fw=vRBc@ z^?B##$`Otc(FG7nMn$88at4~jJVLM~ zuYCW`4=jz`so7I69?)hEJyF6FU>wJbPOrCsQ4CJKQ(NSO&vw59wBobM4Dif2WkB@J z@Kmk81!^B^0#AL`BXvLKBF~vwPRT0mS>{up?!#tvraRt1B-#ye-OP zTLu6xE80367X5w2_o&Jja2zeZaq_EYJJpDeO&7`XHIq(2j;jEOnDoexGX-&bHEqjI zIHE(3Di25qkAO?f`@&Jx<~XyzA5|_qs?708=ogCb#9xeDh1nP|%B=}|swu&T)bNfJ z&7|C37CCv6)k&8=Zo09oj4-ysT&8W#4bvb7k11cf*eHR!Vt^~hc-GBYPQ1JwArk!U z%Pa571}3wawhz`_f9E^<{a__Hl#+5T#}v;FW8cRp9keYlnYRZ5)Vcsn zxsV`s9pMlqm#o>hfVcQ6I?QyI1X|c4)sy4KmeRwD)N}=Yl2j?yz6$c z7eaxp7Nqi(Kc)ON9Nz)pf>k+Y+4&k1ilX~ff2&B)#08{Xc-qFTH99Ja~e1H-my)0QuK{1xAS7E>Buyh+QLVu)sxlW975xP}P=ush1%3mdp`Ko75B z;wS?J|Kr{~%HF3m0Q?iLxq^_L^L4(zwAg5pq_bd3`*vYt^4}%+pf?rCv08^$19Ev` zT|(_vo6^T~5Q-4ta&M}Zy2kDtN9-Tf#+?jHyFVcW7lGM+ND0+8+(4uSzdJev4>BTD z=|RhiHLMUQzwifN&|x4kodUsjiFn8#>K0W<&J_V8R|fhAtf6y0YI{vQl^H=-0WALi z);)}LV=XrqYdAubwh+a!YL_t8&@o^oX`_r#LlU@{X#9H+D)VBvTcqGFeT;1B?Lh-9 zRExac)$|bf-65G zs#JY>z=;$Iol)lNe<87yOz?g1$Af7*Y!{=qFD;Rcjz|155CeENA5W08Dl7vR$>C(x zQyx$;^oLE74Mf^}sGIgw`?=RZp^`?aLg#fLXd~>S%RAC^b%O>+VdGW?CRtC`Fld&$ z3)3(JAQ<^?u2xmJkKM{+48am1i4sFxp19N;dW&xh*NK735=gdQ)~oKAC?uYh zjZRP!n1h4&`e3b{gy6?)@_&k;yUrgWw|JsAcsDX+ntp*SGgv-e+uY0kHC|AzSjOD4 zp7x@N45+!XTK7m5jjB(dH3<^wJuCBvO9TRe!AF}Go?qhv7)iMEXg<(Bxu}@2`Sw9z zXV8KU7x4)1i?b{L8H#!6Y>{^XJrpS6(SF{T_wOKWkciU6;O$EEQZ0^vaVh!xHgix2 zmnE%GpyL799M=W(=_TpCJ8x)gEopccGULcq#QbC~Dl?C=BG(1V5(iCQ z0as`dB2tzfTF>TKKQU!%Z(q_~wQAM!a>~opf8if%Q9xR=YIC2=RpV`=M)1ulqg`eO Jh58Pm{{gY0Jplj! literal 0 HcmV?d00001 From ce31a7f1bc3151a032ec47b46b2ec9c20a12f620 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Thu, 30 Apr 2026 15:33:30 +0200 Subject: [PATCH 13/21] outlined inital use cases --- docs/Use case diagrams.png | Bin 114931 -> 0 bytes docs/use_cases.md | 124 +++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) delete mode 100644 docs/Use case diagrams.png create mode 100644 docs/use_cases.md diff --git a/docs/Use case diagrams.png b/docs/Use case diagrams.png deleted file mode 100644 index 5f83ed8607c3abc60c3ecd6627d29d7221375314..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114931 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 Jh58Pm{{gY0Jplj! diff --git a/docs/use_cases.md b/docs/use_cases.md new file mode 100644 index 0000000..35e8dd2 --- /dev/null +++ b/docs/use_cases.md @@ -0,0 +1,124 @@ +Register an account + Actor: User + TUCBW: User accesses the registration page + TUCEW: User is successfully registered or cancels the registration + +Vew profile information + Actor: User + TUCBW: User selects profile icon + TUCEW: profile page loads and users can see their information + +Edit profile information + Actor: User + TUCBW: User selects 'edit' button on profile page + TUCEW: User saves edits + +View Elo and ranking + Actor: Player + TUCBW: Player selects 'Elo and ranking' on their profile + TUCEW: ELo and ranking page loads and player can see their information + +View match history + Actor: User + TUCBW: User selects 'history' button on a game + TUCEW: User can see the game history + +Select game mode + Actor: Player + TUCBW: Selects a game to be played + TUCEW: Selects one of the game mode options + +Enter ranked game + Actor: Player + TUCBW: player selects a game to play + TUCEW: player is matched with an opponent and the game begins + +Submit solution + Actor: Player + TUCBW: player begins typing their solution + TUCEW: player clicks the 'submit' button + +Invite friends + Actor: Player + TUCBW: Player selects friends to play a specific game + TUCEW: Player receives a notification that the selected friends have received their request + +View game leaderboard + Actor: User + TUCBW: User selects the leaderboard button on a game + TUCEW: User can see the top 5 players of that game + +View game results + Actor: User + TUCBW: User selects the result button of a game + TUCEW: User can see the result for the matches of that game + +Create cheating report + Actor: Player + TUCBW: Player selects the 'create report' button on a game page + TUCEW: Player submits or cancels the report + +Create question error report + Actor: Player + TUCBW: Player selects 'create report' button on question page + TUCEW: Player submits or cancel report + +Vew report + Actor: User + TUCBW: User selects the report they want to view + TUCEW: User can see the details of the report + +Edit report + Actor: Player + TUCBW: Player selects the 'edit' button on a report + TUCEW: Player saves or cancels changes + +Delete report + Actor: Player + TUCBW: Player selects the 'delete' button on a report + TUCEW: Players confirms or cancels deletion + +Create system question + Actor: Manager + TUCBW: Manager selects 'create question' button on questions page + TUCEW: Manager saves or cancels the new question + +View system question + Actor: Manager + TUCBW: Manager selects a question to view + TUCEW: Manager can see the details of that question + +Edit system question + Actor: Manager + TUCBW: Manager selects question to edit + TUCEW: Manager saves or cancels the changes + +Delete system question + Actor: Manager + TUCBW: Manager selects question to delete + TUCEW: Manager confirms or cancels deletion + +Categorise questions + Actor: Manager + TUCBW: Manager selects a game mode and difficulty for a question + TUCEW: Manager saves the changes to the question + +Edit player Elo + Actor: Manager + TUCBW: Manager selects player whose Elo is to be edited + TUCEW: Manager saves or cancels changes to player Elo + +Ban player + Actor: Manager + TUCBW: Manager selects player to be banned + TUCEW: Manager confirms or cancels banning + +Review submitted reports + Actor: User + TUCBW: User opens 'Reports page' + TUCEW: User can see details of submitted reports + +View game engagement + Actor: Manager + TUCBW: Manager selects the 'engagement' button on a game + TUCEW: Manager can see statistics for game engagement From 3865d5e0a584a15d4f71bb4ef4dc3dbb0c848433 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Thu, 30 Apr 2026 15:35:48 +0200 Subject: [PATCH 14/21] organised use cases by actor --- docs/use_cases.md | 56 ++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/docs/use_cases.md b/docs/use_cases.md index 35e8dd2..239ce44 100644 --- a/docs/use_cases.md +++ b/docs/use_cases.md @@ -1,3 +1,5 @@ +# User + Register an account Actor: User TUCBW: User accesses the registration page @@ -13,16 +15,38 @@ Edit profile information TUCBW: User selects 'edit' button on profile page TUCEW: User saves edits -View Elo and ranking - Actor: Player - TUCBW: Player selects 'Elo and ranking' on their profile - TUCEW: ELo and ranking page loads and player can see their information - View match history Actor: User TUCBW: User selects 'history' button on a game TUCEW: User can see the game history +View game leaderboard + Actor: User + TUCBW: User selects the leaderboard button on a game + TUCEW: User can see the top 5 players of that game + +View game results + Actor: User + TUCBW: User selects the result button of a game + TUCEW: User can see the result for the matches of that game + +Vew submitted report + Actor: User + TUCBW: User selects the report they want to view + TUCEW: User can see the details of the report + +Review submitted reports + Actor: User + TUCBW: User opens 'Reports page' + TUCEW: User can see all submitted reports + +# Player + +View Elo and ranking + Actor: Player + TUCBW: Player selects 'Elo and ranking' on their profile + TUCEW: ELo and ranking page loads and player can see their information + Select game mode Actor: Player TUCBW: Selects a game to be played @@ -43,16 +67,6 @@ Invite friends TUCBW: Player selects friends to play a specific game TUCEW: Player receives a notification that the selected friends have received their request -View game leaderboard - Actor: User - TUCBW: User selects the leaderboard button on a game - TUCEW: User can see the top 5 players of that game - -View game results - Actor: User - TUCBW: User selects the result button of a game - TUCEW: User can see the result for the matches of that game - Create cheating report Actor: Player TUCBW: Player selects the 'create report' button on a game page @@ -63,11 +77,6 @@ Create question error report TUCBW: Player selects 'create report' button on question page TUCEW: Player submits or cancel report -Vew report - Actor: User - TUCBW: User selects the report they want to view - TUCEW: User can see the details of the report - Edit report Actor: Player TUCBW: Player selects the 'edit' button on a report @@ -78,6 +87,8 @@ Delete report TUCBW: Player selects the 'delete' button on a report TUCEW: Players confirms or cancels deletion +# Manager + Create system question Actor: Manager TUCBW: Manager selects 'create question' button on questions page @@ -113,11 +124,6 @@ Ban player TUCBW: Manager selects player to be banned TUCEW: Manager confirms or cancels banning -Review submitted reports - Actor: User - TUCBW: User opens 'Reports page' - TUCEW: User can see details of submitted reports - View game engagement Actor: Manager TUCBW: Manager selects the 'engagement' button on a game From 18b91cef43ef0d583ebe5d3269f2739be74a2034 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Thu, 30 Apr 2026 15:53:30 +0200 Subject: [PATCH 15/21] updated use cases and use case diagram --- docs/.$Use case diagrams.png.bkp | Bin 0 -> 202881 bytes docs/Use case diagrams.png | Bin 0 -> 213113 bytes docs/use_cases.md | 15 ++++++++++----- 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 docs/.$Use case diagrams.png.bkp create mode 100644 docs/Use case diagrams.png diff --git a/docs/.$Use case diagrams.png.bkp b/docs/.$Use case diagrams.png.bkp new file mode 100644 index 0000000000000000000000000000000000000000..02da2a593dcb9d6cc18e66da8297d266b082860e GIT binary patch literal 202881 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 Uxh<#iav0?K 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 Qg`W^$WR+#GQWtOif2~X$LjV8( literal 0 HcmV?d00001 diff --git a/docs/Use case diagrams.png b/docs/Use case diagrams.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca6111f95c8145e772468eb9706137780afd708 GIT binary patch literal 213113 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 z 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%0ALhf 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 AJpcdz literal 0 HcmV?d00001 diff --git a/docs/use_cases.md b/docs/use_cases.md index 239ce44..f682543 100644 --- a/docs/use_cases.md +++ b/docs/use_cases.md @@ -35,7 +35,7 @@ Vew submitted report TUCBW: User selects the report they want to view TUCEW: User can see the details of the report -Review submitted reports +Review all submitted reports Actor: User TUCBW: User opens 'Reports page' TUCEW: User can see all submitted reports @@ -89,22 +89,22 @@ Delete report # Manager -Create system question +Create question Actor: Manager TUCBW: Manager selects 'create question' button on questions page TUCEW: Manager saves or cancels the new question -View system question +View question Actor: Manager TUCBW: Manager selects a question to view TUCEW: Manager can see the details of that question -Edit system question +Edit question Actor: Manager TUCBW: Manager selects question to edit TUCEW: Manager saves or cancels the changes -Delete system question +Delete question Actor: Manager TUCBW: Manager selects question to delete TUCEW: Manager confirms or cancels deletion @@ -124,6 +124,11 @@ Ban player TUCBW: Manager selects player to be banned TUCEW: Manager confirms or cancels banning +Unban player + Actor: Manager + TUCBW: Manager selects a banned player to be unbanned + TUCEW: Manager saves player state change + View game engagement Actor: Manager TUCBW: Manager selects the 'engagement' button on a game From 5fe4e7a10d51eebe590ee7dc19ae0580251b1f11 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Fri, 1 May 2026 08:30:00 +0200 Subject: [PATCH 16/21] Updated functional requirements and use cases --- docs/functional_requirements.md | 87 ++++++++++++++++++++++++++++----- docs/use_cases.md | 30 ++++++++++++ docs/user_stories.md | 4 ++ 3 files changed, 109 insertions(+), 12 deletions(-) diff --git a/docs/functional_requirements.md b/docs/functional_requirements.md index 9361a40..4c44c20 100644 --- a/docs/functional_requirements.md +++ b/docs/functional_requirements.md @@ -10,29 +10,97 @@ The system shall display a user's Elo rating per game mode on their profile The system shall maintain a persistent match history for each user +The system shall allow users to select other registers users, with their usernames, to play in casual games + +The system shall send email requests to unregistered friends that are invited, to play casual games, by registered users + +The system shall diplay users match history for all games they have played + +The system shall allow authorised users to edit other players Elo + +The system shall allow authorised uers to ban other players + +# Matchmaking + The system shall allow users to select a mathematics or programming game mode to play in + +The system shall place users into a matchmaking queue when they request a match The system shall match players in ranked games based on their Elo +The system shall notify users when a match is found + +The system shall remove a user from the queue if they disconnect or cancel + +# Match & Game Flow + +The system shall create a match session linking exactly two users upon successful pairing + +The system shall synchronise match state, timers and opponents progress between both clients in real time + +The system shall present problems to both users simulateneously at the start of each round + +The system shall enforce a countdown timer per round, visible to both players + +The system shall determine and announce a winner upon round and game completion + +The system shall update both users' Elo ratings upon match conclusion + +The system shall store and display the top 5 players of each game + + +# Math Battles + The system shall provide a mathematical input keyboard for games in the maths mode +The system shall accept and validate a user's numerical answer submission + +The system shall support difficult levels ranging from basic arithmetic to comples calculus + + +# Programming Battles + The system shall provide an in-game code editor for games in the programming mode -The system shall allow users to select other registers users, with their usernames, to play in casual games +The system shall present users with an algorithmic problem and function signature to implement -The system shall send email requests to unregistered friends that are invited, to play casual games, by registered users +The system shall allow users to select their preferred programming language -The system shall display a live countdown timer during games +The system shall sumbit user code to the execution service upon the users' request -The system shall store and display the top 5 players of each game +The system shall display compilation errors and failed test case details immediately upon execution + +# Code Execution + +The system shall execute user-submitted code in an isolated, sandbox evironment + +The system shall enforce CPU time limits and memory quotas on all code executions + +The system shall disable network access within the execution sandbox + +The system shall run submitted code against a predefined test suite and return pass/fail results + +The system shall compare execution output against expected output to determine correctness + +# Achievements -The system shall send players notification when game results are calculated and finalised +The system shall track milestone conditions against a user's match history + +The system shall unlock and award achievements to users who meet defined milestone conditions + +The system shall display a user's earned achievements on their profile + +# Reporting The system shall allow players to report suspicious behvaiour during and after games The system shall allow players to report errors in questions during and after games -The system shall diplay users match history for all games they have played +The system shall allow players accused of cheating to submit appeals + +The system shall display all submitted reports and appeals for manager users + +# System Management The system shall allow manager users to add new questions to the database @@ -42,13 +110,8 @@ The system shall allow manager users to edit questions in the database The system shall categorise questions according to game mode and difficulty -The system shall allow authorised users to edit other players Elo - -The system shall allow authorised uers to ban other players - -The system shall display all submitted reports and appeals for manager users - The system shall collect statistics on game engagement and error report locality +The system shall allow authorised users to view platform statistics diff --git a/docs/use_cases.md b/docs/use_cases.md index f682543..c974e31 100644 --- a/docs/use_cases.md +++ b/docs/use_cases.md @@ -62,6 +62,11 @@ Submit solution TUCBW: player begins typing their solution TUCEW: player clicks the 'submit' button +View programming solution output + Actor: Player + TUCBW: Player clicks the 'submit' button on their programming question + TUCEW: Player can veiw the output of test cases run with their solution + Invite friends Actor: Player TUCBW: Player selects friends to play a specific game @@ -87,6 +92,31 @@ Delete report TUCBW: Player selects the 'delete' button on a report TUCEW: Players confirms or cancels deletion +Create a cheating appeald + Actor: Player + TUCBW: Player selects 'appeal' on a cheating report + TUCEW: Player submits or cancel the appeal + +Edit appeal + Actor: Player + TUCBW: Player selects the 'edit' button on an appeal + TUCEW: Player saves or cancels changes + +Delete appeal + Actor: Player + TUCBW: Player selects the 'delete' button on an appeal + TUCEW: Player confirms or cancels deletion + +Earn achievements + Actor: Player + TUCBW: Player completes games and meets achievement criteria + TUCEW: Player is notified of achievements earned + +View achievements + Actor: Player + TUCBW: Player selects 'achievements' on their profile + TUCEW: Players can see their earned achievements + # Manager Create question diff --git a/docs/user_stories.md b/docs/user_stories.md index 7354f99..a745d15 100644 --- a/docs/user_stories.md +++ b/docs/user_stories.md @@ -30,6 +30,10 @@ As a player, I want to view my game history so I can see how I played in past ga As a player, I want to be able to submit appeals so I can argue against cheating allegations +As a player, I want to earn achievements so I can be motivated to play more games + +As a player, I want view my achievements so I can track my progress + # Managers As a manager, I want to add new questions to the question pool so I can ensure the game remains varied and engaging From 0a83827124dc8d47c44ca9fc85793c69f1e619f8 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Wed, 13 May 2026 23:17:53 +0200 Subject: [PATCH 17/21] started changing our setup from JS to TS --- .github/workflows/ci.yml | 88 +- backend/.gitkeep | 0 backend/package-lock.json | 5974 +++--------------- backend/package.json | 58 +- backend/src/app.js | 12 - backend/src/app.ts | 13 + backend/src/{server.js => server.ts} | 0 backend/tsconfig.json | 18 + docs/.$architecture diagram.drawio.bkp | 1398 ++-- docs/architecture diagram.drawio | 1382 ++-- frontend/.gitkeep | 0 frontend/README.md | 16 - frontend/eslint.config.js | 43 +- frontend/index.html | 26 +- frontend/package-lock.json | 5170 ++++++++------- frontend/package.json | 15 +- frontend/src/{App.jsx => App.tsx} | 244 +- frontend/src/index.css | 222 +- frontend/src/{main.jsx => main.tsx} | 20 +- frontend/{testing/setup.js => test/setup.ts} | 0 frontend/tsconfig.app.json | 25 + frontend/tsconfig.json | 7 + frontend/tsconfig.node.json | 24 + frontend/{vite.config.js => vite.config.ts} | 3 +- package-lock.json | 4244 ++++++------- package.json | 28 +- 26 files changed, 7570 insertions(+), 11460 deletions(-) delete mode 100644 backend/.gitkeep delete mode 100644 backend/src/app.js create mode 100644 backend/src/app.ts rename backend/src/{server.js => server.ts} (100%) create mode 100644 backend/tsconfig.json delete mode 100644 frontend/.gitkeep rename frontend/src/{App.jsx => App.tsx} (95%) rename frontend/src/{main.jsx => main.tsx} (62%) rename frontend/{testing/setup.js => test/setup.ts} (100%) create mode 100644 frontend/tsconfig.app.json create mode 100644 frontend/tsconfig.json create mode 100644 frontend/tsconfig.node.json rename frontend/{vite.config.js => vite.config.ts} (84%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f73cc08..0894aaa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,44 +1,44 @@ -# This is a basic workflow to help you get started with Actions - -name: CI Pipeline - -# Controls when the workflow will run -on: - # Triggers the workflow on push or pull request events but only for the "dev" branch - push: - branches: [ "main","dev" ] - pull_request: - branches: [ "main","dev" ] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - container: - image: node:20-alpine - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v4 - - - name: Install dependencies (requires package.json) - run: npm ci - - test: - runs-on: ubuntu-latest - container: - image: node:20-alpine - - steps: - - uses: actions/checkout@v4 - - - name: Run the Tests - run: npm test --if-present || true - - +# This is a basic workflow to help you get started with Actions + +name: CI Pipeline + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the "dev" branch + push: + branches: [ "main","dev" ] + pull_request: + branches: [ "main","dev" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + container: + image: node:20-alpine + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + + - name: Install dependencies (requires package.json) + run: npm ci + + test: + runs-on: ubuntu-latest + container: + image: node:20-alpine + + steps: + - uses: actions/checkout@v4 + + - name: Run the Tests + run: npm test --if-present || true + + diff --git a/backend/.gitkeep b/backend/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/backend/package-lock.json b/backend/package-lock.json index 4f4fe77..d9f0d17 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -15,4659 +15,518 @@ "pg": "^8.20.0" }, "devDependencies": { - "jest": "^30.3.0", - "nodemon": "^3.1.14" + "@types/cors": "^2.8.19", + "@types/express": "^5.0.6", + "@types/node": "^25.7.0", + "ts-node": "^10.9.2", + "typescript": "^6.0.3" } }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=6.0.0" } }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } + "license": "MIT" }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@types/node": "*" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@types/node": "*" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "node_modules/@types/express": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "^2" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "node_modules/@types/express-serve-static-core": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "node_modules/@types/node": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.7.0.tgz", + "integrity": "sha512-z+pdZyxE+RTQE9AcboAZCb4otwcrvgHD+GlBpPgn0emDVt0ohrTMhAwlr2Wd9nZ+nihhYFxO2pThz3C5qSu2Eg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" + "undici-types": "~7.21.0" } }, - "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "node_modules/@types/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } + "license": "MIT" }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "MIT" }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/node": "*" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@types/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/http-errors": "*", + "@types/node": "*" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 0.6" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=0.4.0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "acorn": "^8.11.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "MIT" }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", - "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", - "dev": true, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=18" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 0.8" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 0.4" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": ">=18" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.6.0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "object-assign": "^4", + "vary": "^1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", - "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "ms": "^2.1.3" }, "engines": { - "node": ">=6.9.0" + "node": ">=6.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.8" } }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">=6.9.0" + "node": ">=0.3.1" } }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, + "node_modules/dotenv": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", + "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", + "license": "BSD-2-Clause", "engines": { - "node": ">=6.9.0" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", - "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.3.0.tgz", - "integrity": "sha512-PAwCvFJ4696XP2qZj+LAn1BWjZaJ6RjG6c7/lkMaUJnkyMS34ucuIsfqYvfskVNvUI27R/u4P1HMYFnlVXG/Ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/core": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.3.0.tgz", - "integrity": "sha512-U5mVPsBxLSO6xYbf+tgkymLx+iAhvZX43/xI1+ej2ZOPnPdkdO1CzDmFKh2mZBn2s4XZixszHeQnzp1gm/DIxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "30.3.0", - "@jest/pattern": "30.0.1", - "@jest/reporters": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-changed-files": "30.3.0", - "jest-config": "30.3.0", - "jest-haste-map": "30.3.0", - "jest-message-util": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-resolve-dependencies": "30.3.0", - "jest-runner": "30.3.0", - "jest-runtime": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "jest-watcher": "30.3.0", - "pretty-format": "30.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/diff-sequences": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz", - "integrity": "sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/environment": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.3.0.tgz", - "integrity": "sha512-SlLSF4Be735yQXyh2+mctBOzNDx5s5uLv88/j8Qn1wH679PDcwy67+YdADn8NJnGjzlXtN62asGH/T4vWOkfaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "jest-mock": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.3.0.tgz", - "integrity": "sha512-76Nlh4xJxk2D/9URCn3wFi98d2hb19uWE1idLsTt2ywhvdOldbw3S570hBgn25P4ICUZ/cBjybrBex2g17IDbg==", - "dev": true, - "license": "MIT", - "dependencies": { - "expect": "30.3.0", - "jest-snapshot": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.3.0.tgz", - "integrity": "sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.3.0.tgz", - "integrity": "sha512-WUQDs8SOP9URStX1DzhD425CqbN/HxUYCTwVrT8sTVBfMvFqYt/s61EK5T05qnHu0po6RitXIvP9otZxYDzTGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@sinonjs/fake-timers": "^15.0.0", - "@types/node": "*", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-util": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/get-type": { - "version": "30.1.0", - "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", - "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.3.0.tgz", - "integrity": "sha512-+owLCBBdfpgL3HU+BD5etr1SvbXpSitJK0is1kiYjJxAAJggYMRQz5hSdd5pq1sSggfxPbw2ld71pt4x5wwViA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.3.0", - "@jest/expect": "30.3.0", - "@jest/types": "30.3.0", - "jest-mock": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/pattern": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", - "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-regex-util": "30.0.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.3.0.tgz", - "integrity": "sha512-a09z89S+PkQnL055bVj8+pe2Caed2PBOaczHcXCykW5ngxX9EWx/1uAwncxc/HiU0oZqfwseMjyhxgRjS49qPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "@jridgewell/trace-mapping": "^0.3.25", - "@types/node": "*", - "chalk": "^4.1.2", - "collect-v8-coverage": "^1.0.2", - "exit-x": "^0.2.2", - "glob": "^10.5.0", - "graceful-fs": "^4.2.11", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^5.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", - "jest-worker": "30.3.0", - "slash": "^3.0.0", - "string-length": "^4.0.2", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", - "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.34.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/snapshot-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.3.0.tgz", - "integrity": "sha512-ORbRN9sf5PP82v3FXNSwmO1OTDR2vzR2YTaR+E3VkSBZ8zadQE6IqYdYEeFH1NIkeB2HIGdF02dapb6K0Mj05g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "natural-compare": "^1.4.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz", - "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "callsites": "^3.1.0", - "graceful-fs": "^4.2.11" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.3.0.tgz", - "integrity": "sha512-e/52nJGuD74AKTSe0P4y5wFRlaXP0qmrS17rqOMHeSwm278VyNyXE3gFO/4DTGF9w+65ra3lo3VKj0LBrzmgdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "30.3.0", - "@jest/types": "30.3.0", - "@types/istanbul-lib-coverage": "^2.0.6", - "collect-v8-coverage": "^1.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.3.0.tgz", - "integrity": "sha512-dgbWy9b8QDlQeRZcv7LNF+/jFiiYHTKho1xirauZ7kVwY7avjFF6uTT0RqlgudB5OuIPagFdVtfFMosjVbk1eA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "30.3.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.3.0.tgz", - "integrity": "sha512-TLKY33fSLVd/lKB2YI1pH69ijyUblO/BQvCj566YvnwuzoTNr648iE0j22vRvVNk2HsPwByPxATg3MleS3gf5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.27.4", - "@jest/types": "30.3.0", - "@jridgewell/trace-mapping": "^0.3.25", - "babel-plugin-istanbul": "^7.0.1", - "chalk": "^4.1.2", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-util": "30.3.0", - "pirates": "^4.0.7", - "slash": "^3.0.0", - "write-file-atomic": "^5.0.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/types": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.3.0.tgz", - "integrity": "sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.5", - "@types/istanbul-lib-coverage": "^2.0.6", - "@types/istanbul-reports": "^3.0.4", - "@types/node": "*", - "@types/yargs": "^17.0.33", - "chalk": "^4.1.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@pkgr/core": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", - "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/pkgr" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.34.49", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", - "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "15.3.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz", - "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/node": { - "version": "25.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.19.0" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/yargs": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", - "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/babel-jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.3.0.tgz", - "integrity": "sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/transform": "30.3.0", - "@types/babel__core": "^7.20.5", - "babel-plugin-istanbul": "^7.0.1", - "babel-preset-jest": "30.3.0", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", - "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", - "dev": true, - "license": "BSD-3-Clause", - "workspaces": [ - "test/babel-8" - ], - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-instrument": "^6.0.2", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.3.0.tgz", - "integrity": "sha512-+TRkByhsws6sfPjVaitzadk1I0F5sPvOVUH5tyTSzhePpsGIVrdeunHSw/C36QeocS95OOk8lunc4rlu5Anwsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/babel__core": "^7.20.5" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", - "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" - }, - "peerDependencies": { - "@babel/core": "^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/babel-preset-jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.3.0.tgz", - "integrity": "sha512-6ZcUbWHC+dMz2vfzdNwi87Z1gQsLNK2uLuK1Q89R11xdvejcivlYYwDlEv0FHX3VwEXpbBQ9uufB/MUNpZGfhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "30.3.0", - "babel-preset-current-node-syntax": "^1.2.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-beta.1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.24", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", - "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", - "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001791", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", - "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/ci-info": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", - "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", - "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", - "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cors": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", - "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", - "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", - "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.344", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", - "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", - "dev": true, - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/exit-x": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", - "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.3.0.tgz", - "integrity": "sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/expect-utils": "30.3.0", - "@jest/get-type": "30.1.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-util": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "depd": "^2.0.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true, - "license": "ISC" - }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "license": "MIT" - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", - "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.23", - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", - "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-30.3.0.tgz", - "integrity": "sha512-AkXIIFcaazymvey2i/+F94XRnM6TsVLZDhBMLsd1Sf/W0wzsvvpjeyUrCZD6HGG4SDYPgDJDBKeiJTBb10WzMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "30.3.0", - "@jest/types": "30.3.0", - "import-local": "^3.2.0", - "jest-cli": "30.3.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.3.0.tgz", - "integrity": "sha512-B/7Cny6cV5At6M25EWDgf9S617lHivamL8vl6KEpJqkStauzcG4e+WPfDgMMF+H4FVH4A2PLRyvgDJan4441QA==", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^5.1.1", - "jest-util": "30.3.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-circus": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.3.0.tgz", - "integrity": "sha512-PyXq5szeSfR/4f1lYqCmmQjh0vqDkURUYi9N6whnHjlRz4IUQfMcXkGLeEoiJtxtyPqgUaUUfyQlApXWBSN1RA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.3.0", - "@jest/expect": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "co": "^4.6.0", - "dedent": "^1.6.0", - "is-generator-fn": "^2.1.0", - "jest-each": "30.3.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-runtime": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", - "p-limit": "^3.1.0", - "pretty-format": "30.3.0", - "pure-rand": "^7.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-cli": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.3.0.tgz", - "integrity": "sha512-l6Tqx+j1fDXJEW5bqYykDQQ7mQg+9mhWXtnj+tQZrTWYHyHoi6Be8HPumDSA+UiX2/2buEgjA58iJzdj146uCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", - "chalk": "^4.1.2", - "exit-x": "^0.2.2", - "import-local": "^3.2.0", - "jest-config": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "yargs": "^17.7.2" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.3.0.tgz", - "integrity": "sha512-WPMAkMAtNDY9P/oKObtsRG/6KTrhtgPJoBTmk20uDn4Uy6/3EJnnaZJre/FMT1KVRx8cve1r7/FlMIOfRVWL4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.27.4", - "@jest/get-type": "30.1.0", - "@jest/pattern": "30.0.1", - "@jest/test-sequencer": "30.3.0", - "@jest/types": "30.3.0", - "babel-jest": "30.3.0", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "deepmerge": "^4.3.1", - "glob": "^10.5.0", - "graceful-fs": "^4.2.11", - "jest-circus": "30.3.0", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-runner": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "parse-json": "^5.2.0", - "pretty-format": "30.3.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "esbuild-register": ">=3.4.0", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "esbuild-register": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz", - "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/diff-sequences": "30.3.0", - "@jest/get-type": "30.1.0", - "chalk": "^4.1.2", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.2.0.tgz", - "integrity": "sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.1.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-each": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.3.0.tgz", - "integrity": "sha512-V8eMndg/aZ+3LnCJgSm13IxS5XSBM22QSZc9BtPK8Dek6pm+hfUNfwBdvsB3d342bo1q7wnSkC38zjX259qZNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "@jest/types": "30.3.0", - "chalk": "^4.1.2", - "jest-util": "30.3.0", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.3.0.tgz", - "integrity": "sha512-4i6HItw/JSiJVsC5q0hnKIe/hbYfZLVG9YJ/0pU9Hz2n/9qZe3Rhn5s5CUZA5ORZlcdT/vmAXRMyONXJwPrmYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.3.0", - "@jest/fake-timers": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "jest-mock": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.3.0.tgz", - "integrity": "sha512-mMi2oqG4KRU0R9QEtscl87JzMXfUhbKaFqOxmjb2CKcbHcUGFrJCBWHmnTiUqi6JcnzoBlO4rWfpdl2k/RfLCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@types/node": "*", - "anymatch": "^3.1.3", - "fb-watchman": "^2.0.2", - "graceful-fs": "^4.2.11", - "jest-regex-util": "30.0.1", - "jest-util": "30.3.0", - "jest-worker": "30.3.0", - "picomatch": "^4.0.3", - "walker": "^1.0.8" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.3" - } - }, - "node_modules/jest-leak-detector": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.3.0.tgz", - "integrity": "sha512-cuKmUUGIjfXZAiGJ7TbEMx0bcqNdPPI6P1V+7aF+m/FUJqFDxkFR4JqkTu8ZOiU5AaX/x0hZ20KaaIPXQzbMGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz", - "integrity": "sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "chalk": "^4.1.2", - "jest-diff": "30.3.0", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.3.0.tgz", - "integrity": "sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@jest/types": "30.3.0", - "@types/stack-utils": "^2.0.3", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.3", - "pretty-format": "30.3.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-mock": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.3.0.tgz", - "integrity": "sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@types/node": "*", - "jest-util": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", - "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.3.0.tgz", - "integrity": "sha512-NRtTAHQlpd15F9rUR36jqwelbrDV/dY4vzNte3S2kxCKUJRYNd5/6nTSbYiak1VX5g8IoFF23Uj5TURkUW8O5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "jest-pnp-resolver": "^1.2.3", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "slash": "^3.0.0", - "unrs-resolver": "^1.7.11" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.3.0.tgz", - "integrity": "sha512-9ev8s3YN6Hsyz9LV75XUwkCVFlwPbaFn6Wp75qnI0wzAINYWY8Fb3+6y59Rwd3QaS3kKXffHXsZMziMavfz/nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-regex-util": "30.0.1", - "jest-snapshot": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-runner": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.3.0.tgz", - "integrity": "sha512-gDv6C9LGKWDPLia9TSzZwf4h3kMQCqyTpq+95PODnTRDO0g9os48XIYYkS6D236vjpBir2fF63YmJFtqkS5Duw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "30.3.0", - "@jest/environment": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.3.0", - "jest-haste-map": "30.3.0", - "jest-leak-detector": "30.3.0", - "jest-message-util": "30.3.0", - "jest-resolve": "30.3.0", - "jest-runtime": "30.3.0", - "jest-util": "30.3.0", - "jest-watcher": "30.3.0", - "jest-worker": "30.3.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.3.0.tgz", - "integrity": "sha512-CgC+hIBJbuh78HEffkhNKcbXAytQViplcl8xupqeIWyKQF50kCQA8J7GeJCkjisC6hpnC9Muf8jV5RdtdFbGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "30.3.0", - "@jest/fake-timers": "30.3.0", - "@jest/globals": "30.3.0", - "@jest/source-map": "30.0.1", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "cjs-module-lexer": "^2.1.0", - "collect-v8-coverage": "^1.0.2", - "glob": "^10.5.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.3.0.tgz", - "integrity": "sha512-f14c7atpb4O2DeNhwcvS810Y63wEn8O1HqK/luJ4F6M4NjvxmAKQwBUWjbExUtMxWJQ0wVgmCKymeJK6NZMnfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.27.4", - "@babel/generator": "^7.27.5", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.27.1", - "@babel/types": "^7.27.3", - "@jest/expect-utils": "30.3.0", - "@jest/get-type": "30.1.0", - "@jest/snapshot-utils": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", - "babel-preset-current-node-syntax": "^1.2.0", - "chalk": "^4.1.2", - "expect": "30.3.0", - "graceful-fs": "^4.2.11", - "jest-diff": "30.3.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", - "pretty-format": "30.3.0", - "semver": "^7.7.2", - "synckit": "^0.11.8" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.3.0.tgz", - "integrity": "sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "30.3.0", - "@types/node": "*", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.3" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-validate": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.3.0.tgz", - "integrity": "sha512-I/xzC8h5G+SHCb2P2gWkJYrNiTbeL47KvKeW5EzplkyxzBRBw1ssSHlI/jXec0ukH2q7x2zAWQm7015iusg62Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "@jest/types": "30.3.0", - "camelcase": "^6.3.0", - "chalk": "^4.1.2", - "leven": "^3.1.0", - "pretty-format": "30.3.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.3.0.tgz", - "integrity": "sha512-PJ1d9ThtTR8aMiBWUdcownq9mDdLXsQzJayTk4kmaBRHKvwNQn+ANveuhEBUyNI2hR1TVhvQ8D5kHubbzBHR/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "jest-util": "30.3.0", - "string-length": "^4.0.2" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-worker": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.3.0.tgz", - "integrity": "sha512-DrCKkaQwHexjRUFTmPzs7sHQe0TSj9nvDALKGdwmK5mW9v7j90BudWirKAJHt3QQ9Dhrg1F7DogPzhChppkJpQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.3.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.1.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "dev": true, - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/nodemon": { - "version": "3.1.14", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.14.tgz", - "integrity": "sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^3.5.2", - "debug": "^4", - "ignore-by-default": "^1.0.1", - "minimatch": "^10.2.1", - "pstree.remy": "^1.1.8", - "semver": "^7.5.3", - "simple-update-notifier": "^2.0.0", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5" - }, - "bin": { - "nodemon": "bin/nodemon.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" - } - }, - "node_modules/nodemon/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/nodemon/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/nodemon/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/nodemon/node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/nodemon/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/nodemon/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/path-to-regexp": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", - "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/pg": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.20.0.tgz", - "integrity": "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==", - "license": "MIT", - "dependencies": { - "pg-connection-string": "^2.12.0", - "pg-pool": "^3.13.0", - "pg-protocol": "^1.13.0", - "pg-types": "2.2.0", - "pgpass": "1.0.5" - }, - "engines": { - "node": ">= 16.0.0" - }, - "optionalDependencies": { - "pg-cloudflare": "^1.3.0" - }, - "peerDependencies": { - "pg-native": ">=3.0.1" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - } - }, - "node_modules/pg-cloudflare": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz", - "integrity": "sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==", - "license": "MIT", - "optional": true - }, - "node_modules/pg-connection-string": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.12.0.tgz", - "integrity": "sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ==", - "license": "MIT" - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "license": "ISC", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-pool": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.13.0.tgz", - "integrity": "sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA==", - "license": "MIT", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.13.0.tgz", - "integrity": "sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==", - "license": "MIT" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "license": "MIT", "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "license": "MIT", - "dependencies": { - "split2": "^4.1.0" + "node": ">= 0.4" } }, - "node_modules/picocolors": { + "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, - "node_modules/postgres-array": { + "node_modules/encodeurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/postgres-bytea": { + "node_modules/es-define-property": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", - "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pretty-format": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", - "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "license": "MIT", - "dependencies": { - "@jest/schemas": "30.0.5", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.4" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "license": "MIT", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "es-errors": "^1.3.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.4" } }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true, - "license": "MIT" - }, - "node_modules/pure-rand": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-7.0.1.tgz", - "integrity": "sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "license": "MIT" }, - "node_modules/qs": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", - "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "license": "MIT", "engines": { "node": ">= 0.6" } }, - "node_modules/raw-body": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true, - "license": "MIT" - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", "debug": "^4.4.0", "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.3", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", + "finalhandler": "^2.1.0", "fresh": "^2.0.0", - "http-errors": "^2.0.1", - "mime-types": "^3.0.2", - "ms": "^2.1.3", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", "range-parser": "^1.2.1", - "statuses": "^2.0.2" + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" }, "engines": { "node": ">= 18" @@ -4677,65 +536,70 @@ "url": "https://opencollective.com/express" } }, - "node_modules/serve-static": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", - "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "license": "MIT", "dependencies": { + "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", + "on-finished": "^2.4.1", "parseurl": "^1.3.3", - "send": "^1.2.0" + "statuses": "^2.0.1" }, "engines": { - "node": ">= 18" + "node": ">= 18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/shebang-command": { + "node_modules/fresh": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "license": "MIT", - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -4744,15 +608,24 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel-list": { + "node_modules/get-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4760,17 +633,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, "engines": { "node": ">= 0.4" }, @@ -4778,713 +645,684 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, "engines": { - "node": ">=14" + "node": ">= 0.8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", - "dev": true, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "license": "MIT", "dependencies": { - "semver": "^7.5.3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.10" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true, + "license": "ISC" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "license": "ISC", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", "engines": { - "node": ">= 10.x" + "node": ">= 0.6" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" + "engines": { + "node": ">= 0.4" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, "engines": { "node": ">= 0.8" } }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "license": "MIT", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "wrappy": "1" } }, - "node_modules/string-length/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/string-length/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, + "node_modules/pg": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.20.0.tgz", + "integrity": "sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==", "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "pg-connection-string": "^2.12.0", + "pg-pool": "^3.13.0", + "pg-protocol": "^1.13.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" }, "engines": { - "node": ">=12" + "node": ">= 16.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "pg-cloudflare": "^1.3.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "node_modules/pg-cloudflare": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.3.0.tgz", + "integrity": "sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==", "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.12.0.tgz", + "integrity": "sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "node_modules/pg-pool": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.13.0.tgz", + "integrity": "sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA==", "license": "MIT", - "engines": { - "node": ">=8" + "peerDependencies": { + "pg": ">=8.0" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, + "node_modules/pg-protocol": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.13.0.tgz", + "integrity": "sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==", "license": "MIT" }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", "license": "MIT", "dependencies": { - "ansi-regex": "^6.2.2" + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=4" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "split2": "^4.1.0" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "xtend": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/synckit": { - "version": "0.11.12", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", - "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", - "dev": true, - "license": "MIT", + "node_modules/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", + "license": "BSD-3-Clause", "dependencies": { - "@pkgr/core": "^0.2.9" + "side-channel": "^1.1.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=0.6" }, "funding": { - "url": "https://opencollective.com/synckit" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "license": "ISC", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" }, "engines": { - "node": "*" + "node": ">= 18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" }, - "engines": { - "node": "*" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" }, "engines": { - "node": ">=8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/toidentifier": { + "node_modules/side-channel-list": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/touch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", - "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", - "dev": true, - "license": "ISC", - "bin": { - "nodetouch": "bin/nodetouch.js" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD", - "optional": true - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "license": "MIT", "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true, - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", - "dev": true, - "license": "MIT" - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "napi-postinstall": "^0.3.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "license": "MIT", "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, "engines": { - "node": ">=10.12.0" + "node": ">= 10.x" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, "bin": { - "node-which": "bin/node-which" + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">= 18" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=8" + "node": ">=14.17" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/undici-types": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.21.0.tgz", + "integrity": "sha512-w9IMgQrz4O0YN1LtB7K5P63vhlIOvC7opSmouCJ+ZywlPAlO9gIkJ+otk6LvGpAs2wg4econaCz3TvQ9xPoyuQ==", "dev": true, "license": "MIT" }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.8" } }, "node_modules/wrappy": { @@ -5493,20 +1331,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, - "node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -5516,108 +1340,14 @@ "node": ">=0.4" } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { + "node_modules/yn": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } } } diff --git a/backend/package.json b/backend/package.json index 2183502..6a72d7f 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,27 +1,31 @@ -{ - "name": "backend", - "version": "1.0.0", - "main": "index.js", - "directories": { - "test": "tests" - }, - "scripts": { - "start": "node src/server.js", - "dev": "nodemon src/server.js", - "test": "jest" - }, - "keywords": [], - "author": "", - "license": "ISC", - "description": "", - "dependencies": { - "cors": "^2.8.6", - "dotenv": "^17.4.2", - "express": "^5.2.1", - "pg": "^8.20.0" - }, - "devDependencies": { - "jest": "^30.3.0", - "nodemon": "^3.1.14" - } -} +{ + "name": "backend", + "type": "commonjs", + "version": "1.0.0", + "description": "", + "main": "index.js", + "directories": { + "test": "tests" + }, + "scripts": { + "start": "node src/server.ts", + "dev": "nodemon src/server.ts", + "test": "jest" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "cors": "^2.8.6", + "dotenv": "^17.4.2", + "express": "^5.2.1", + "pg": "^8.20.0" + }, + "devDependencies": { + "@types/cors": "^2.8.19", + "@types/express": "^5.0.6", + "@types/node": "^25.7.0", + "ts-node": "^10.9.2", + "typescript": "^6.0.3" + } +} diff --git a/backend/src/app.js b/backend/src/app.js deleted file mode 100644 index 318b4d8..0000000 --- a/backend/src/app.js +++ /dev/null @@ -1,12 +0,0 @@ -const express = require('express'); -const cors = require('cors'); -const app = express(); - -app.use(cors()); -app.use(express.json()); - -app.get('/health', (req, res) => { - res.json({ status: 'ok'}); -}); - -module.exports = app; \ No newline at end of file diff --git a/backend/src/app.ts b/backend/src/app.ts new file mode 100644 index 0000000..4c6c65e --- /dev/null +++ b/backend/src/app.ts @@ -0,0 +1,13 @@ +import express, { Request, Response } from 'express' +import cors from 'cors' + +const app = express(); + +app.use(cors()); +app.use(express.json()); + +app.get('/health', (req: Request, res: Response) => { + res.json({ status: 'ok'}); +}); + +module.exports = app; \ No newline at end of file diff --git a/backend/src/server.js b/backend/src/server.ts similarity index 100% rename from backend/src/server.js rename to backend/src/server.ts diff --git a/backend/tsconfig.json b/backend/tsconfig.json new file mode 100644 index 0000000..47a4a39 --- /dev/null +++ b/backend/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "module": "nodenext", + "target": "esnext", + "types": ["node"], + "sourceMap": true, + "declaration": true, + "declarationMap": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "strict": true, + "jsx": "react-jsx", + "isolatedModules": true, + "noUncheckedSideEffectImports": true, + "moduleDetection": "force", + "skipLibCheck": true, + } +} diff --git a/docs/.$architecture diagram.drawio.bkp b/docs/.$architecture diagram.drawio.bkp index 6573b8e..8dcd9ed 100644 --- a/docs/.$architecture diagram.drawio.bkp +++ b/docs/.$architecture diagram.drawio.bkp @@ -1,699 +1,699 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/architecture diagram.drawio b/docs/architecture diagram.drawio index 2ebf87a..eae714f 100644 --- a/docs/architecture diagram.drawio +++ b/docs/architecture diagram.drawio @@ -1,691 +1,691 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/.gitkeep b/frontend/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/README.md b/frontend/README.md index 99bcebb..e69de29 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,16 +0,0 @@ -# React + Vite - -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. - -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) - -## React Compiler - -The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). - -## Expanding the ESLint configuration - -If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js index 02fa75e..ef614d2 100644 --- a/frontend/eslint.config.js +++ b/frontend/eslint.config.js @@ -1,21 +1,22 @@ -import js from '@eslint/js' -import globals from 'globals' -import reactHooks from 'eslint-plugin-react-hooks' -import reactRefresh from 'eslint-plugin-react-refresh' -import { defineConfig, globalIgnores } from 'eslint/config' - -export default defineConfig([ - globalIgnores(['dist']), - { - files: ['**/*.{js,jsx}'], - extends: [ - js.configs.recommended, - reactHooks.configs.flat.recommended, - reactRefresh.configs.vite, - ], - languageOptions: { - globals: globals.browser, - parserOptions: { ecmaFeatures: { jsx: true } }, - }, - }, -]) +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + globals: globals.browser, + }, + }, +]) diff --git a/frontend/index.html b/frontend/index.html index 9457d4d..94337a7 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1,13 +1,13 @@ - - - - - - - frontend - - -

- - - + + + + + + + codeclash + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 4ac95dc..36e3176 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,2428 +1,2742 @@ -{ - "name": "frontend", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "frontend", - "version": "0.0.0", - "dependencies": { - "react": "^19.2.5", - "react-dom": "^19.2.5" - }, - "devDependencies": { - "@eslint/js": "^10.0.1", - "@types/react": "^19.2.14", - "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "^6.0.1", - "eslint": "^10.2.1", - "eslint-plugin-react-hooks": "^7.1.1", - "eslint-plugin-react-refresh": "^0.5.2", - "globals": "^17.5.0", - "vite": "^8.0.10" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", - "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.5", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.5.tgz", - "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", - "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", - "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", - "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.1", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", - "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/types": "^0.15.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", - "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.2", - "@humanfs/types": "^0.15.0", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/types": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", - "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, - "node_modules/@oxc-project/types": { - "version": "0.127.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz", - "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Boshen" - } - }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz", - "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz", - "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz", - "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz", - "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz", - "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz", - "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "1.10.0", - "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "^1.1.4" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz", - "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz", - "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.7", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", - "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", - "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", - "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rolldown/pluginutils": "1.0.0-rc.7" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", - "babel-plugin-react-compiler": "^1.0.0", - "vite": "^8.0.0" - }, - "peerDependenciesMeta": { - "@rolldown/plugin-babel": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - } - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.24", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", - "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001791", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", - "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.344", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", - "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", - "dev": true, - "license": "ISC" - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.2.1.tgz", - "integrity": "sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.5", - "@eslint/config-helpers": "^0.5.5", - "@eslint/core": "^1.2.1", - "@eslint/plugin-kit": "^0.7.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", - "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz", - "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": "^9 || ^10" - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "17.5.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.5.0.tgz", - "integrity": "sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true, - "license": "MIT" - }, - "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hermes-estree": "0.25.1" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", - "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/react": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", - "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", - "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.5" - } - }, - "node_modules/rolldown": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz", - "integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@oxc-project/types": "=0.127.0", - "@rolldown/pluginutils": "1.0.0-rc.17" - }, - "bin": { - "rolldown": "bin/cli.mjs" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0-rc.17", - "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", - "@rolldown/binding-darwin-x64": "1.0.0-rc.17", - "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", - "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", - "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", - "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", - "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" - } - }, - "node_modules/rolldown/node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz", - "integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==", - "dev": true, - "license": "MIT" - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD", - "optional": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/vite": { - "version": "8.0.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz", - "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "lightningcss": "^1.32.0", - "picomatch": "^4.0.4", - "postcss": "^8.5.10", - "rolldown": "1.0.0-rc.17", - "tinyglobby": "^0.2.16" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.1.0", - "esbuild": "^0.27.0 || ^0.28.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "@vitejs/devtools": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" - } - } - } -} +{ + "name": "frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.0.0", + "dependencies": { + "react": "^19.2.6", + "react-dom": "^19.2.6" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@types/node": "^24.12.3", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "eslint": "^10.3.0", + "eslint-plugin-react-hooks": "^7.1.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.6.0", + "typescript": "~6.0.2", + "typescript-eslint": "^8.59.2", + "vite": "^8.0.12" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", + "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^3.0.5", + "debug": "^4.3.1", + "minimatch": "^10.2.4" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.5.tgz", + "integrity": "sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/js": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/object-schema": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.1.tgz", + "integrity": "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.129.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.129.0.tgz", + "integrity": "sha512-3oz8m3FGdr2nDXVqmFUw7jolKliC4MoyXYIG2c7gpjBnzUWQpUGIYcXYKxTdTi+N2jusvt610ckTMkxdwHkYEg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0.tgz", + "integrity": "sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0.tgz", + "integrity": "sha512-6XcD+8k0gPVItNagEw78/qqcBDwKcwDYS8V2hRmVsfUSIrd8cWe/CBvRDI5toqFyPfj+FJr6t8U6Xj2P2prEew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0.tgz", + "integrity": "sha512-iN/tWVXRQDWvmZlKdceP1Dwug9GDpEymhb9p4xnEe6zvCg5lFmzVljl+1qR1NVx3yfGpr2Na+CuLmv5IU8uzfQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0.tgz", + "integrity": "sha512-jjQMDvvwSOuhOwMszD/klSOjyWMM3zI64hWTj9KT5x4MxRbZAf+7vLQ6qouRhtsLVFHr3f0ILaJAfgENPiQdAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0.tgz", + "integrity": "sha512-d//Dtg2x6/m3mbV64yUGNnDGNZaDGRpDLLNGerHQUVObuNaIQaaDp25yUiqGXtHEXX+NP2d0wAlmKgpYgIAJ2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0.tgz", + "integrity": "sha512-n7Ofp0mx+aB2cC+Sdy5YtMnXtY9lchnHbY+3Yt0uq9JsWQExf4f5Whu0tK0R8Jdc9S6RchTHjIFY7uc92puOVQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0.tgz", + "integrity": "sha512-EIVjy2cgd7uuMMo94FVkBp7F6DhcZAUwNURkSG3RwUmvAXR6s0ISxM81U+IydcZByPG0pZIHsf1b6kTxoFDgJA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0.tgz", + "integrity": "sha512-JEwwOPcwTLAcpDQlqSmjEmfs63xJnSiUNIGvLcDLUHCWK4XowpS/7c7tUsUH6uT/ct6bMUTdXKfI8967FYj6mg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0.tgz", + "integrity": "sha512-0wjCFhLrihtAubnT9iA0N++0pSV0z5Hg7tNGdNJ4RFaINceHadoF+kiFGyY1qSSNVIAZtLotG8Ju1bgDPkjnFA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0.tgz", + "integrity": "sha512-Dfn7iak9BcMMePxcoJfpSbWqnEyrp/dRF63/8qW/eHBdOZov6x5aShLLEYGYdIeSJ6vMLK/XCVB+lGIxm41bQA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0.tgz", + "integrity": "sha512-5/utzzDmD/pD/bmuaUcbTf/sZYy0aztwIVlfpoW1fTjCZ0BaPOMVWGZL1zvgxyi7ZIVYWlxKONHmSbHuiOh8Jw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0.tgz", + "integrity": "sha512-ouJs8VcUomfLfpbUECqFMRqdV4x6aeAK3MA4m6vTrJJjKyWTV5KnxZx7Jd9G+GlDaQQxubcba00x16OyJ1meig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0.tgz", + "integrity": "sha512-E+oHKGiDA+lsKMmFtffDDw91EryDT7uJocrIuCHqhm6bCTM6xFK+3gaCkYOHfPwQr0cCNarSM2xaELoQDz9jJg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0.tgz", + "integrity": "sha512-yYK02n8Rngo+gbm1y6G0+7jk1sJ/2Wt7K0me0Y7k/ErBpyf+LJ2gFpqWVTcRV1rUepBlQRmpgWkTQCiiwrK0Ow==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0.tgz", + "integrity": "sha512-14bpChMahXRRXiTwahSl+zzHPW6qQTXtkMuJBFlbo+pqSAews2d4BdCSHfrJ/MBsCZtpmTafsY+1QhBzitcmdg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.12.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.4.tgz", + "integrity": "sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.3.tgz", + "integrity": "sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/type-utils": "8.59.3", + "@typescript-eslint/utils": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.59.3", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.3.tgz", + "integrity": "sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.3.tgz", + "integrity": "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.59.3", + "@typescript-eslint/types": "^8.59.3", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz", + "integrity": "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz", + "integrity": "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.3.tgz", + "integrity": "sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/utils": "8.59.3", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.3.tgz", + "integrity": "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz", + "integrity": "sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.59.3", + "@typescript-eslint/tsconfig-utils": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/visitor-keys": "8.59.3", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", + "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.3.tgz", + "integrity": "sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.59.3", + "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz", + "integrity": "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.3", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.7" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.29", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.29.tgz", + "integrity": "sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001792", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001792.tgz", + "integrity": "sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.354", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.354.tgz", + "integrity": "sha512-JaBHwWcfIdmSAfWM5l3uwjGd431j8YEMikZ+K/2nXVuBqJKyZ0f+2h4n4JY5AyNiZmnY9qQr2RU3v9DxDmHMNg==", + "dev": true, + "license": "ISC" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.3.0.tgz", + "integrity": "sha512-XbEXaRva5cF0ZQB8w6MluHA0kZZfV2DuCMJ3ozyEOHLwDpZX2Lmm/7Pp0xdJmI0GL1W05VH5VwIFHEm1Vcw2gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.5.5", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "minimatch": "^10.2.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz", + "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": "^9 || ^10" + } + }, + "node_modules/eslint-scope": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", + "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.44", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.44.tgz", + "integrity": "sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.6.tgz", + "integrity": "sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.6.tgz", + "integrity": "sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.6" + } + }, + "node_modules/rolldown": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0.tgz", + "integrity": "sha512-yD986aXDESFGS95spT1LAv0jssywP4npMEjmMHyN2/5+eE8qQJUype2AaKkRiLgBgyD0LFlubwAht7VmY8rGoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.129.0", + "@rolldown/pluginutils": "1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0", + "@rolldown/binding-darwin-arm64": "1.0.0", + "@rolldown/binding-darwin-x64": "1.0.0", + "@rolldown/binding-freebsd-x64": "1.0.0", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0", + "@rolldown/binding-linux-arm64-gnu": "1.0.0", + "@rolldown/binding-linux-arm64-musl": "1.0.0", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0", + "@rolldown/binding-linux-s390x-gnu": "1.0.0", + "@rolldown/binding-linux-x64-gnu": "1.0.0", + "@rolldown/binding-linux-x64-musl": "1.0.0", + "@rolldown/binding-openharmony-arm64": "1.0.0", + "@rolldown/binding-wasm32-wasi": "1.0.0", + "@rolldown/binding-win32-arm64-msvc": "1.0.0", + "@rolldown/binding-win32-x64-msvc": "1.0.0" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0.tgz", + "integrity": "sha512-aKs/3GSWyV0mrhNmt/96/Z3yczC3yvrzYATCiCXQebBsGyYzjNdUphRVLeJQ67ySKVXRfMxt2lm12pmXvbPFQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.59.3", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.3.tgz", + "integrity": "sha512-KgusgyDgG4LI8Ih/sWaCtZ06tckLAS5CvT5A4D1Q7bYVoAAyzwiZvE4BmwDHkhRVkvhRBepKeASoFzQetha7Fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.59.3", + "@typescript-eslint/parser": "8.59.3", + "@typescript-eslint/typescript-estree": "8.59.3", + "@typescript-eslint/utils": "8.59.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "8.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.12.tgz", + "integrity": "sha512-w2dDofOWv2QB09ZITZBsvKTVAlYvPR4IAmrY/v0ir9KvLs0xybR7i48wxhM1/oyBWO34wPns+bPGw5ZrZqDpZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.14", + "rolldown": "1.0.0", + "tinyglobby": "^0.2.16" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json index 2228f0f..e78f2cd 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "vite build", + "build": "tsc -b && vite build", "lint": "eslint .", "preview": "vite preview", "test": "vitest", @@ -13,18 +13,21 @@ "coverage": "vitest --coverage" }, "dependencies": { - "react": "^19.2.5", - "react-dom": "^19.2.5" + "react": "^19.2.6", + "react-dom": "^19.2.6" }, "devDependencies": { "@eslint/js": "^10.0.1", + "@types/node": "^24.12.3", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^6.0.1", - "eslint": "^10.2.1", + "eslint": "^10.3.0", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.2", - "globals": "^17.5.0", - "vite": "^8.0.10" + "globals": "^17.6.0", + "typescript": "~6.0.2", + "typescript-eslint": "^8.59.2", + "vite": "^8.0.12" } } \ No newline at end of file diff --git a/frontend/src/App.jsx b/frontend/src/App.tsx similarity index 95% rename from frontend/src/App.jsx rename to frontend/src/App.tsx index c3859cb..a66b5ef 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.tsx @@ -1,122 +1,122 @@ -import { useState } from 'react' -import reactLogo from './assets/react.svg' -import viteLogo from './assets/vite.svg' -import heroImg from './assets/hero.png' -import './App.css' - -function App() { - const [count, setCount] = useState(0) - - return ( - <> -
-
- - React logo - Vite logo -
-
-

Get started

-

- Edit src/App.jsx and save to test HMR -

-
- -
- -
- -
- -
- -

Connect with us

-

Join the Vite community

- -
-
- -
-
- - ) -} - -export default App +import { useState } from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from './assets/vite.svg' +import heroImg from './assets/hero.png' +import './App.css' + +function App() { + const [count, setCount] = useState(0) + + return ( + <> +
+
+ + React logo + Vite logo +
+
+

Get started

+

+ Edit src/App.tsx and save to test HMR +

+
+ +
+ +
+ +
+
+ +

Documentation

+

Your questions, answered

+ +
+
+ +

Connect with us

+

Join the Vite community

+ +
+
+ +
+
+ + ) +} + +export default App diff --git a/frontend/src/index.css b/frontend/src/index.css index 7a1b9b6..5fb3313 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -1,111 +1,111 @@ -:root { - --text: #6b6375; - --text-h: #08060d; - --bg: #fff; - --border: #e5e4e7; - --code-bg: #f4f3ec; - --accent: #aa3bff; - --accent-bg: rgba(170, 59, 255, 0.1); - --accent-border: rgba(170, 59, 255, 0.5); - --social-bg: rgba(244, 243, 236, 0.5); - --shadow: - rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; - - --sans: system-ui, 'Segoe UI', Roboto, sans-serif; - --heading: system-ui, 'Segoe UI', Roboto, sans-serif; - --mono: ui-monospace, Consolas, monospace; - - font: 18px/145% var(--sans); - letter-spacing: 0.18px; - color-scheme: light dark; - color: var(--text); - background: var(--bg); - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - @media (max-width: 1024px) { - font-size: 16px; - } -} - -@media (prefers-color-scheme: dark) { - :root { - --text: #9ca3af; - --text-h: #f3f4f6; - --bg: #16171d; - --border: #2e303a; - --code-bg: #1f2028; - --accent: #c084fc; - --accent-bg: rgba(192, 132, 252, 0.15); - --accent-border: rgba(192, 132, 252, 0.5); - --social-bg: rgba(47, 48, 58, 0.5); - --shadow: - rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px; - } - - #social .button-icon { - filter: invert(1) brightness(2); - } -} - -body { - margin: 0; -} - -#root { - width: 1126px; - max-width: 100%; - margin: 0 auto; - text-align: center; - border-inline: 1px solid var(--border); - min-height: 100svh; - display: flex; - flex-direction: column; - box-sizing: border-box; -} - -h1, -h2 { - font-family: var(--heading); - font-weight: 500; - color: var(--text-h); -} - -h1 { - font-size: 56px; - letter-spacing: -1.68px; - margin: 32px 0; - @media (max-width: 1024px) { - font-size: 36px; - margin: 20px 0; - } -} -h2 { - font-size: 24px; - line-height: 118%; - letter-spacing: -0.24px; - margin: 0 0 8px; - @media (max-width: 1024px) { - font-size: 20px; - } -} -p { - margin: 0; -} - -code, -.counter { - font-family: var(--mono); - display: inline-flex; - border-radius: 4px; - color: var(--text-h); -} - -code { - font-size: 15px; - line-height: 135%; - padding: 4px 8px; - background: var(--code-bg); -} +:root { + --text: #6b6375; + --text-h: #08060d; + --bg: #fff; + --border: #e5e4e7; + --code-bg: #f4f3ec; + --accent: #aa3bff; + --accent-bg: rgba(170, 59, 255, 0.1); + --accent-border: rgba(170, 59, 255, 0.5); + --social-bg: rgba(244, 243, 236, 0.5); + --shadow: + rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; + + --sans: system-ui, 'Segoe UI', Roboto, sans-serif; + --heading: system-ui, 'Segoe UI', Roboto, sans-serif; + --mono: ui-monospace, Consolas, monospace; + + font: 18px/145% var(--sans); + letter-spacing: 0.18px; + color-scheme: light dark; + color: var(--text); + background: var(--bg); + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + @media (max-width: 1024px) { + font-size: 16px; + } +} + +@media (prefers-color-scheme: dark) { + :root { + --text: #9ca3af; + --text-h: #f3f4f6; + --bg: #16171d; + --border: #2e303a; + --code-bg: #1f2028; + --accent: #c084fc; + --accent-bg: rgba(192, 132, 252, 0.15); + --accent-border: rgba(192, 132, 252, 0.5); + --social-bg: rgba(47, 48, 58, 0.5); + --shadow: + rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px; + } + + #social .button-icon { + filter: invert(1) brightness(2); + } +} + +#root { + width: 1126px; + max-width: 100%; + margin: 0 auto; + text-align: center; + border-inline: 1px solid var(--border); + min-height: 100svh; + display: flex; + flex-direction: column; + box-sizing: border-box; +} + +body { + margin: 0; +} + +h1, +h2 { + font-family: var(--heading); + font-weight: 500; + color: var(--text-h); +} + +h1 { + font-size: 56px; + letter-spacing: -1.68px; + margin: 32px 0; + @media (max-width: 1024px) { + font-size: 36px; + margin: 20px 0; + } +} +h2 { + font-size: 24px; + line-height: 118%; + letter-spacing: -0.24px; + margin: 0 0 8px; + @media (max-width: 1024px) { + font-size: 20px; + } +} +p { + margin: 0; +} + +code, +.counter { + font-family: var(--mono); + display: inline-flex; + border-radius: 4px; + color: var(--text-h); +} + +code { + font-size: 15px; + line-height: 135%; + padding: 4px 8px; + background: var(--code-bg); +} diff --git a/frontend/src/main.jsx b/frontend/src/main.tsx similarity index 62% rename from frontend/src/main.jsx rename to frontend/src/main.tsx index a3ca132..bef5202 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.tsx @@ -1,10 +1,10 @@ -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' -import './index.css' -import App from './App.jsx' - -createRoot(document.getElementById('root')).render( - - - , -) +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.tsx' + +createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/frontend/testing/setup.js b/frontend/test/setup.ts similarity index 100% rename from frontend/testing/setup.js rename to frontend/test/setup.ts diff --git a/frontend/tsconfig.app.json b/frontend/tsconfig.app.json new file mode 100644 index 0000000..7f42e5f --- /dev/null +++ b/frontend/tsconfig.app.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023", "DOM"], + "module": "esnext", + "types": ["vite/client"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json new file mode 100644 index 0000000..d3c52ea --- /dev/null +++ b/frontend/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "module": "esnext", + "types": ["node"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts"] +} diff --git a/frontend/vite.config.js b/frontend/vite.config.ts similarity index 84% rename from frontend/vite.config.js rename to frontend/vite.config.ts index 3cd2d61..904ff66 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.ts @@ -1,12 +1,11 @@ import { defineConfig } from 'vitest/config' import react from '@vitejs/plugin-react' - export default defineConfig({ plugins: [react()], test: { globals: true, environment: 'jsdom', - setupFiles: './testing/setup.js' + setupFiles: './test/setup.ts' }, }) diff --git a/package-lock.json b/package-lock.json index 1c3e413..eaf1e48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,2122 +1,2122 @@ -{ - "name": "CodeClash-CI", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "CodeClash-CI", - "version": "1.0.0", - "devDependencies": { - "@testing-library/jest-dom": "^6.9.1", - "@testing-library/react": "^16.3.2", - "@testing-library/user-event": "^14.6.1", - "jsdom": "^29.1.1", - "vitest": "^4.1.6" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", - "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@asamuzakjp/css-color": { - "version": "5.1.11", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", - "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/generational-cache": "^1.0.1", - "@csstools/css-calc": "^3.2.0", - "@csstools/css-color-parser": "^4.1.0", - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@asamuzakjp/dom-selector": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", - "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/generational-cache": "^1.0.1", - "@asamuzakjp/nwsapi": "^2.3.9", - "bidi-js": "^1.0.3", - "css-tree": "^3.2.1", - "is-potential-custom-element-name": "^1.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@asamuzakjp/generational-cache": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", - "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@asamuzakjp/nwsapi": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", - "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", - "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bramus/specificity": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", - "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-tree": "^3.0.0" - }, - "bin": { - "specificity": "bin/cli.js" - } - }, - "node_modules/@csstools/color-helpers": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", - "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@csstools/css-calc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", - "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", - "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^6.0.2", - "@csstools/css-calc": "^3.2.0" - }, - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", - "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", - "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "peerDependencies": { - "css-tree": "^3.2.1" - }, - "peerDependenciesMeta": { - "css-tree": { - "optional": true - } - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", - "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@exodus/bytes": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", - "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@noble/hashes": "^1.8.0 || ^2.0.0" - }, - "peerDependenciesMeta": { - "@noble/hashes": { - "optional": true - } - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, - "node_modules/@oxc-project/types": { - "version": "0.129.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.129.0.tgz", - "integrity": "sha512-3oz8m3FGdr2nDXVqmFUw7jolKliC4MoyXYIG2c7gpjBnzUWQpUGIYcXYKxTdTi+N2jusvt610ckTMkxdwHkYEg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Boshen" - } - }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0.tgz", - "integrity": "sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0.tgz", - "integrity": "sha512-6XcD+8k0gPVItNagEw78/qqcBDwKcwDYS8V2hRmVsfUSIrd8cWe/CBvRDI5toqFyPfj+FJr6t8U6Xj2P2prEew==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0.tgz", - "integrity": "sha512-iN/tWVXRQDWvmZlKdceP1Dwug9GDpEymhb9p4xnEe6zvCg5lFmzVljl+1qR1NVx3yfGpr2Na+CuLmv5IU8uzfQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0.tgz", - "integrity": "sha512-jjQMDvvwSOuhOwMszD/klSOjyWMM3zI64hWTj9KT5x4MxRbZAf+7vLQ6qouRhtsLVFHr3f0ILaJAfgENPiQdAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0.tgz", - "integrity": "sha512-d//Dtg2x6/m3mbV64yUGNnDGNZaDGRpDLLNGerHQUVObuNaIQaaDp25yUiqGXtHEXX+NP2d0wAlmKgpYgIAJ2A==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0.tgz", - "integrity": "sha512-n7Ofp0mx+aB2cC+Sdy5YtMnXtY9lchnHbY+3Yt0uq9JsWQExf4f5Whu0tK0R8Jdc9S6RchTHjIFY7uc92puOVQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0.tgz", - "integrity": "sha512-EIVjy2cgd7uuMMo94FVkBp7F6DhcZAUwNURkSG3RwUmvAXR6s0ISxM81U+IydcZByPG0pZIHsf1b6kTxoFDgJA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0.tgz", - "integrity": "sha512-JEwwOPcwTLAcpDQlqSmjEmfs63xJnSiUNIGvLcDLUHCWK4XowpS/7c7tUsUH6uT/ct6bMUTdXKfI8967FYj6mg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0.tgz", - "integrity": "sha512-0wjCFhLrihtAubnT9iA0N++0pSV0z5Hg7tNGdNJ4RFaINceHadoF+kiFGyY1qSSNVIAZtLotG8Ju1bgDPkjnFA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0.tgz", - "integrity": "sha512-Dfn7iak9BcMMePxcoJfpSbWqnEyrp/dRF63/8qW/eHBdOZov6x5aShLLEYGYdIeSJ6vMLK/XCVB+lGIxm41bQA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0.tgz", - "integrity": "sha512-5/utzzDmD/pD/bmuaUcbTf/sZYy0aztwIVlfpoW1fTjCZ0BaPOMVWGZL1zvgxyi7ZIVYWlxKONHmSbHuiOh8Jw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0.tgz", - "integrity": "sha512-ouJs8VcUomfLfpbUECqFMRqdV4x6aeAK3MA4m6vTrJJjKyWTV5KnxZx7Jd9G+GlDaQQxubcba00x16OyJ1meig==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0.tgz", - "integrity": "sha512-E+oHKGiDA+lsKMmFtffDDw91EryDT7uJocrIuCHqhm6bCTM6xFK+3gaCkYOHfPwQr0cCNarSM2xaELoQDz9jJg==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "1.10.0", - "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "^1.1.4" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0.tgz", - "integrity": "sha512-yYK02n8Rngo+gbm1y6G0+7jk1sJ/2Wt7K0me0Y7k/ErBpyf+LJ2gFpqWVTcRV1rUepBlQRmpgWkTQCiiwrK0Ow==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0.tgz", - "integrity": "sha512-14bpChMahXRRXiTwahSl+zzHPW6qQTXtkMuJBFlbo+pqSAews2d4BdCSHfrJ/MBsCZtpmTafsY+1QhBzitcmdg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0.tgz", - "integrity": "sha512-aKs/3GSWyV0mrhNmt/96/Z3yczC3yvrzYATCiCXQebBsGyYzjNdUphRVLeJQ67ySKVXRfMxt2lm12pmXvbPFQQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@standard-schema/spec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/dom": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", - "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "picocolors": "1.1.1", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", - "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "picocolors": "^1.1.1", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/react": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", - "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@testing-library/dom": "^10.0.0", - "@types/react": "^18.0.0 || ^19.0.0", - "@types/react-dom": "^18.0.0 || ^19.0.0", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@testing-library/user-event": { - "version": "14.6.1", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", - "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", - "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" - } - }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vitest/expect": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.6.tgz", - "integrity": "sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.1.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.6", - "@vitest/utils": "4.1.6", - "chai": "^6.2.2", - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.6.tgz", - "integrity": "sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "4.1.6", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/pretty-format": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.6.tgz", - "integrity": "sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.6.tgz", - "integrity": "sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "4.1.6", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.6.tgz", - "integrity": "sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.6", - "@vitest/utils": "4.1.6", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.6.tgz", - "integrity": "sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.6.tgz", - "integrity": "sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.6", - "convert-source-map": "^2.0.0", - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/bidi-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", - "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "require-from-string": "^2.0.2" - } - }, - "node_modules/chai": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/css-tree": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", - "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.27.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true, - "license": "MIT" - }, - "node_modules/data-urls": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", - "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/decimal.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", - "dev": true, - "license": "MIT" - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/entities": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", - "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=20.19.0" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-module-lexer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", - "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", - "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@exodus/bytes": "^1.6.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/jsdom": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz", - "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^5.1.11", - "@asamuzakjp/dom-selector": "^7.1.1", - "@bramus/specificity": "^2.4.2", - "@csstools/css-syntax-patches-for-csstree": "^1.1.3", - "@exodus/bytes": "^1.15.0", - "css-tree": "^3.2.1", - "data-urls": "^7.0.0", - "decimal.js": "^10.6.0", - "html-encoding-sniffer": "^6.0.0", - "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.3.5", - "parse5": "^8.0.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^6.0.1", - "undici": "^7.25.0", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^8.0.1", - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.1", - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24.0.0" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lru-cache": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", - "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/mdn-data": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", - "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/nanoid": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", - "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/obug": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", - "dev": true, - "funding": [ - "https://github.com/sponsors/sxzz", - "https://opencollective.com/debug" - ], - "license": "MIT" - }, - "node_modules/parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", - "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^8.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", - "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/react": { - "version": "19.2.6", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.6.tgz", - "integrity": "sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.6", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.6.tgz", - "integrity": "sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.6" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rolldown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0.tgz", - "integrity": "sha512-yD986aXDESFGS95spT1LAv0jssywP4npMEjmMHyN2/5+eE8qQJUype2AaKkRiLgBgyD0LFlubwAht7VmY8rGoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@oxc-project/types": "=0.129.0", - "@rolldown/pluginutils": "1.0.0" - }, - "bin": { - "rolldown": "bin/cli.mjs" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0", - "@rolldown/binding-darwin-arm64": "1.0.0", - "@rolldown/binding-darwin-x64": "1.0.0", - "@rolldown/binding-freebsd-x64": "1.0.0", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0", - "@rolldown/binding-linux-arm64-gnu": "1.0.0", - "@rolldown/binding-linux-arm64-musl": "1.0.0", - "@rolldown/binding-linux-ppc64-gnu": "1.0.0", - "@rolldown/binding-linux-s390x-gnu": "1.0.0", - "@rolldown/binding-linux-x64-gnu": "1.0.0", - "@rolldown/binding-linux-x64-musl": "1.0.0", - "@rolldown/binding-openharmony-arm64": "1.0.0", - "@rolldown/binding-wasm32-wasi": "1.0.0", - "@rolldown/binding-win32-arm64-msvc": "1.0.0", - "@rolldown/binding-win32-x64-msvc": "1.0.0" - } - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/std-env": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", - "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz", - "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyrainbow": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", - "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tldts": { - "version": "7.0.30", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.30.tgz", - "integrity": "sha512-ELrFxuqsDdHUwoh0XxDbxuLD3Wnz49Z57IFvTtvWy1hJdcMZjXLIuonjilCiWHlT2GbE4Wlv1wKVTzDFnXH1aw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tldts-core": "^7.0.30" - }, - "bin": { - "tldts": "bin/cli.js" - } - }, - "node_modules/tldts-core": { - "version": "7.0.30", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.30.tgz", - "integrity": "sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/tough-cookie": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", - "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^7.0.5" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD", - "optional": true - }, - "node_modules/undici": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", - "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.18.1" - } - }, - "node_modules/vite": { - "version": "8.0.12", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.12.tgz", - "integrity": "sha512-w2dDofOWv2QB09ZITZBsvKTVAlYvPR4IAmrY/v0ir9KvLs0xybR7i48wxhM1/oyBWO34wPns+bPGw5ZrZqDpZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lightningcss": "^1.32.0", - "picomatch": "^4.0.4", - "postcss": "^8.5.14", - "rolldown": "1.0.0", - "tinyglobby": "^0.2.16" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.1.18", - "esbuild": "^0.27.0 || ^0.28.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "@vitejs/devtools": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vitest": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.6.tgz", - "integrity": "sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "4.1.6", - "@vitest/mocker": "4.1.6", - "@vitest/pretty-format": "4.1.6", - "@vitest/runner": "4.1.6", - "@vitest/snapshot": "4.1.6", - "@vitest/spy": "4.1.6", - "@vitest/utils": "4.1.6", - "es-module-lexer": "^2.0.0", - "expect-type": "^1.3.0", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^4.0.0-rc.1", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.1.0", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@opentelemetry/api": "^1.9.0", - "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.6", - "@vitest/browser-preview": "4.1.6", - "@vitest/browser-webdriverio": "4.1.6", - "@vitest/coverage-istanbul": "4.1.6", - "@vitest/coverage-v8": "4.1.6", - "@vitest/ui": "4.1.6", - "happy-dom": "*", - "jsdom": "*", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@opentelemetry/api": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser-playwright": { - "optional": true - }, - "@vitest/browser-preview": { - "optional": true - }, - "@vitest/browser-webdriverio": { - "optional": true - }, - "@vitest/coverage-istanbul": { - "optional": true - }, - "@vitest/coverage-v8": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - }, - "vite": { - "optional": false - } - } - }, - "node_modules/w3c-xmlserializer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/webidl-conversions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", - "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=20" - } - }, - "node_modules/whatwg-mimetype": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", - "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20" - } - }, - "node_modules/whatwg-url": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", - "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@exodus/bytes": "^1.11.0", - "tr46": "^6.0.0", - "webidl-conversions": "^8.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true, - "license": "MIT" - } - } -} +{ + "name": "CodeClash-CI", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "CodeClash-CI", + "version": "1.0.0", + "devDependencies": { + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@testing-library/user-event": "^14.6.1", + "jsdom": "^29.1.1", + "vitest": "^4.1.6" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@asamuzakjp/css-color": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", + "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@csstools/css-calc": "^3.2.0", + "@csstools/css-color-parser": "^4.1.0", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", + "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/generational-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", + "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", + "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@csstools/css-calc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", + "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", + "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.2.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", + "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@exodus/bytes": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", + "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.129.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.129.0.tgz", + "integrity": "sha512-3oz8m3FGdr2nDXVqmFUw7jolKliC4MoyXYIG2c7gpjBnzUWQpUGIYcXYKxTdTi+N2jusvt610ckTMkxdwHkYEg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0.tgz", + "integrity": "sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0.tgz", + "integrity": "sha512-6XcD+8k0gPVItNagEw78/qqcBDwKcwDYS8V2hRmVsfUSIrd8cWe/CBvRDI5toqFyPfj+FJr6t8U6Xj2P2prEew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0.tgz", + "integrity": "sha512-iN/tWVXRQDWvmZlKdceP1Dwug9GDpEymhb9p4xnEe6zvCg5lFmzVljl+1qR1NVx3yfGpr2Na+CuLmv5IU8uzfQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0.tgz", + "integrity": "sha512-jjQMDvvwSOuhOwMszD/klSOjyWMM3zI64hWTj9KT5x4MxRbZAf+7vLQ6qouRhtsLVFHr3f0ILaJAfgENPiQdAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0.tgz", + "integrity": "sha512-d//Dtg2x6/m3mbV64yUGNnDGNZaDGRpDLLNGerHQUVObuNaIQaaDp25yUiqGXtHEXX+NP2d0wAlmKgpYgIAJ2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0.tgz", + "integrity": "sha512-n7Ofp0mx+aB2cC+Sdy5YtMnXtY9lchnHbY+3Yt0uq9JsWQExf4f5Whu0tK0R8Jdc9S6RchTHjIFY7uc92puOVQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0.tgz", + "integrity": "sha512-EIVjy2cgd7uuMMo94FVkBp7F6DhcZAUwNURkSG3RwUmvAXR6s0ISxM81U+IydcZByPG0pZIHsf1b6kTxoFDgJA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0.tgz", + "integrity": "sha512-JEwwOPcwTLAcpDQlqSmjEmfs63xJnSiUNIGvLcDLUHCWK4XowpS/7c7tUsUH6uT/ct6bMUTdXKfI8967FYj6mg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0.tgz", + "integrity": "sha512-0wjCFhLrihtAubnT9iA0N++0pSV0z5Hg7tNGdNJ4RFaINceHadoF+kiFGyY1qSSNVIAZtLotG8Ju1bgDPkjnFA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0.tgz", + "integrity": "sha512-Dfn7iak9BcMMePxcoJfpSbWqnEyrp/dRF63/8qW/eHBdOZov6x5aShLLEYGYdIeSJ6vMLK/XCVB+lGIxm41bQA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0.tgz", + "integrity": "sha512-5/utzzDmD/pD/bmuaUcbTf/sZYy0aztwIVlfpoW1fTjCZ0BaPOMVWGZL1zvgxyi7ZIVYWlxKONHmSbHuiOh8Jw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0.tgz", + "integrity": "sha512-ouJs8VcUomfLfpbUECqFMRqdV4x6aeAK3MA4m6vTrJJjKyWTV5KnxZx7Jd9G+GlDaQQxubcba00x16OyJ1meig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0.tgz", + "integrity": "sha512-E+oHKGiDA+lsKMmFtffDDw91EryDT7uJocrIuCHqhm6bCTM6xFK+3gaCkYOHfPwQr0cCNarSM2xaELoQDz9jJg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0.tgz", + "integrity": "sha512-yYK02n8Rngo+gbm1y6G0+7jk1sJ/2Wt7K0me0Y7k/ErBpyf+LJ2gFpqWVTcRV1rUepBlQRmpgWkTQCiiwrK0Ow==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0.tgz", + "integrity": "sha512-14bpChMahXRRXiTwahSl+zzHPW6qQTXtkMuJBFlbo+pqSAews2d4BdCSHfrJ/MBsCZtpmTafsY+1QhBzitcmdg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0.tgz", + "integrity": "sha512-aKs/3GSWyV0mrhNmt/96/Z3yczC3yvrzYATCiCXQebBsGyYzjNdUphRVLeJQ67ySKVXRfMxt2lm12pmXvbPFQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitest/expect": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.6.tgz", + "integrity": "sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.6", + "@vitest/utils": "4.1.6", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.6.tgz", + "integrity": "sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.6", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.6.tgz", + "integrity": "sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.6.tgz", + "integrity": "sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.6", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.6.tgz", + "integrity": "sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.6", + "@vitest/utils": "4.1.6", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.6.tgz", + "integrity": "sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.6.tgz", + "integrity": "sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.6", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/entities": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/jsdom": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz", + "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^5.1.11", + "@asamuzakjp/dom-selector": "^7.1.1", + "@bramus/specificity": "^2.4.2", + "@csstools/css-syntax-patches-for-csstree": "^1.1.3", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.3.5", + "parse5": "^8.0.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.1", + "undici": "^7.25.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.1", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.6.tgz", + "integrity": "sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.6.tgz", + "integrity": "sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.6" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rolldown": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0.tgz", + "integrity": "sha512-yD986aXDESFGS95spT1LAv0jssywP4npMEjmMHyN2/5+eE8qQJUype2AaKkRiLgBgyD0LFlubwAht7VmY8rGoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.129.0", + "@rolldown/pluginutils": "1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0", + "@rolldown/binding-darwin-arm64": "1.0.0", + "@rolldown/binding-darwin-x64": "1.0.0", + "@rolldown/binding-freebsd-x64": "1.0.0", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0", + "@rolldown/binding-linux-arm64-gnu": "1.0.0", + "@rolldown/binding-linux-arm64-musl": "1.0.0", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0", + "@rolldown/binding-linux-s390x-gnu": "1.0.0", + "@rolldown/binding-linux-x64-gnu": "1.0.0", + "@rolldown/binding-linux-x64-musl": "1.0.0", + "@rolldown/binding-openharmony-arm64": "1.0.0", + "@rolldown/binding-wasm32-wasi": "1.0.0", + "@rolldown/binding-win32-arm64-msvc": "1.0.0", + "@rolldown/binding-win32-x64-msvc": "1.0.0" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz", + "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.0.30", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.30.tgz", + "integrity": "sha512-ELrFxuqsDdHUwoh0XxDbxuLD3Wnz49Z57IFvTtvWy1hJdcMZjXLIuonjilCiWHlT2GbE4Wlv1wKVTzDFnXH1aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.30" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.30", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.30.tgz", + "integrity": "sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/tough-cookie": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "node_modules/undici": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", + "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/vite": { + "version": "8.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.12.tgz", + "integrity": "sha512-w2dDofOWv2QB09ZITZBsvKTVAlYvPR4IAmrY/v0ir9KvLs0xybR7i48wxhM1/oyBWO34wPns+bPGw5ZrZqDpZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.14", + "rolldown": "1.0.0", + "tinyglobby": "^0.2.16" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.6.tgz", + "integrity": "sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.6", + "@vitest/mocker": "4.1.6", + "@vitest/pretty-format": "4.1.6", + "@vitest/runner": "4.1.6", + "@vitest/snapshot": "4.1.6", + "@vitest/spy": "4.1.6", + "@vitest/utils": "4.1.6", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.6", + "@vitest/browser-preview": "4.1.6", + "@vitest/browser-webdriverio": "4.1.6", + "@vitest/coverage-istanbul": "4.1.6", + "@vitest/coverage-v8": "4.1.6", + "@vitest/ui": "4.1.6", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + } + } +} diff --git a/package.json b/package.json index c7b3d8d..f95ba0f 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,14 @@ -{ - "name": "CodeClash-CI", - "version": "1.0.0", - "scripts": { - "test": "jest" - }, - "devDependencies": { - "@testing-library/jest-dom": "^6.9.1", - "@testing-library/react": "^16.3.2", - "@testing-library/user-event": "^14.6.1", - "jsdom": "^29.1.1", - "vitest": "^4.1.6" - } -} +{ + "name": "CodeClash-CI", + "version": "1.0.0", + "scripts": { + "test": "jest" + }, + "devDependencies": { + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@testing-library/user-event": "^14.6.1", + "jsdom": "^29.1.1", + "vitest": "^4.1.6" + } +} From 8e9e9804f977d7292d3680054b3dd16f0a956802 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Wed, 13 May 2026 23:35:14 +0200 Subject: [PATCH 18/21] updated backend files to use typescript --- backend/src/app.ts | 2 +- backend/src/server.ts | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/backend/src/app.ts b/backend/src/app.ts index 4c6c65e..f87aeec 100644 --- a/backend/src/app.ts +++ b/backend/src/app.ts @@ -10,4 +10,4 @@ app.get('/health', (req: Request, res: Response) => { res.json({ status: 'ok'}); }); -module.exports = app; \ No newline at end of file +export default app; \ No newline at end of file diff --git a/backend/src/server.ts b/backend/src/server.ts index 9868c93..be86325 100644 --- a/backend/src/server.ts +++ b/backend/src/server.ts @@ -1,6 +1,7 @@ -const app = require('/app'); -const PORT = process.env.PORT || 3000; - -app.listen(PORT, () => { - console.log(`Server running on port ${PORT}`); +import app from './app' + +const PORT = process.env.PORT || 3000; + +app.listen(PORT, () => { + console.log(`Server running on port ${PORT}`); }); \ No newline at end of file From d93e48637aec26e920756454a54008ae50bc24aa Mon Sep 17 00:00:00 2001 From: swe-yy Date: Thu, 14 May 2026 12:29:33 +0200 Subject: [PATCH 19/21] updated backend for sonarQube safety checks --- backend/src/app.ts | 1 + package.json | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/src/app.ts b/backend/src/app.ts index f87aeec..c2c1f06 100644 --- a/backend/src/app.ts +++ b/backend/src/app.ts @@ -2,6 +2,7 @@ import express, { Request, Response } from 'express' import cors from 'cors' const app = express(); +app.disable('x-powered-by'); //so express version isn't included in responses app.use(cors()); app.use(express.json()); diff --git a/package.json b/package.json index f95ba0f..ea3f49d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,10 @@ "name": "CodeClash-CI", "version": "1.0.0", "scripts": { - "test": "jest" + "test": "jest", + "frontend": "npm run dev --prefix frontend", + "backend": "npm run dev --prefix backend", + "dev": "npm run frontend && npm run backend" }, "devDependencies": { "@testing-library/jest-dom": "^6.9.1", From 81779206566c9f7dc80ff6cdc4ae024e4e191656 Mon Sep 17 00:00:00 2001 From: swe-yy Date: Thu, 14 May 2026 12:34:36 +0200 Subject: [PATCH 20/21] Commented out default pages because they were failing quality checks --- frontend/src/App.tsx | 224 ++++++++++++++++++++--------------------- frontend/src/index.css | 4 +- frontend/src/main.tsx | 4 +- 3 files changed, 116 insertions(+), 116 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index a66b5ef..a9d834d 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,122 +1,122 @@ -import { useState } from 'react' -import reactLogo from './assets/react.svg' -import viteLogo from './assets/vite.svg' -import heroImg from './assets/hero.png' +//import { useState } from 'react' +// import reactLogo from './assets/react.svg' +// import viteLogo from './assets/vite.svg' +// import heroImg from './assets/hero.png' import './App.css' function App() { - const [count, setCount] = useState(0) + // const [count, setCount] = useState(0) - return ( - <> -
-
- - React logo - Vite logo -
-
-

Get started

-

- Edit src/App.tsx and save to test HMR -

-
- -
+ //return ( + //<> + //
+ //
+ // + // React logo + // Vite logo + //
+ //
+ //

Get started

+ //

+ // Edit src/App.tsx and save to test HMR + //

+ //
+ // + //
-
+ //
-
-
- -

Documentation

-

Your questions, answered

- -
-
- -

Connect with us

-

Join the Vite community

- -
-
+ //
+ //
+ // + //

Documentation

+ //

Your questions, answered

+ // + //
+ //
+ // + //

Connect with us

+ //

Join the Vite community

+ // + //
+ //
-
-
- - ) + //
+ //
+ // + // ) } export default App diff --git a/frontend/src/index.css b/frontend/src/index.css index 5fb3313..b148058 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -1,4 +1,4 @@ -:root { +/* :root { --text: #6b6375; --text-h: #08060d; --bg: #fff; @@ -108,4 +108,4 @@ code { line-height: 135%; padding: 4px 8px; background: var(--code-bg); -} +} */ diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index bef5202..e6b5fe0 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -1,10 +1,10 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import './index.css' -import App from './App.tsx' +//import App from './App.tsx' createRoot(document.getElementById('root')!).render( - + {/* */} , ) From b6ea37c6ffe1b56a817120a614654501fa6b017f Mon Sep 17 00:00:00 2001 From: swe-yy Date: Thu, 14 May 2026 12:39:05 +0200 Subject: [PATCH 21/21] removed commented out code and unused imports --- backend/src/app.ts | 2 +- frontend/src/App.tsx | 117 +---------------------------------------- frontend/src/index.css | 111 -------------------------------------- frontend/test/setup.ts | 2 +- 4 files changed, 3 insertions(+), 229 deletions(-) diff --git a/backend/src/app.ts b/backend/src/app.ts index c2c1f06..3520120 100644 --- a/backend/src/app.ts +++ b/backend/src/app.ts @@ -4,7 +4,7 @@ import cors from 'cors' const app = express(); app.disable('x-powered-by'); //so express version isn't included in responses -app.use(cors()); +app.use(cors({origin: process.env.FRONTEND_URL || 'http://localhost:5173'})); app.use(express.json()); app.get('/health', (req: Request, res: Response) => { diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index a9d834d..5f8e169 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,122 +1,7 @@ -//import { useState } from 'react' -// import reactLogo from './assets/react.svg' -// import viteLogo from './assets/vite.svg' -// import heroImg from './assets/hero.png' import './App.css' function App() { - // const [count, setCount] = useState(0) - - //return ( - //<> - //
- //
- // - // React logo - // Vite logo - //
- //
- //

Get started

- //

- // Edit src/App.tsx and save to test HMR - //

- //
- // - //
- - //
- - //
- //
- // - //

Documentation

- //

Your questions, answered

- // - //
- //
- // - //

Connect with us

- //

Join the Vite community

- // - //
- //
- - //
- //
- // - // ) + } export default App diff --git a/frontend/src/index.css b/frontend/src/index.css index b148058..e69de29 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -1,111 +0,0 @@ -/* :root { - --text: #6b6375; - --text-h: #08060d; - --bg: #fff; - --border: #e5e4e7; - --code-bg: #f4f3ec; - --accent: #aa3bff; - --accent-bg: rgba(170, 59, 255, 0.1); - --accent-border: rgba(170, 59, 255, 0.5); - --social-bg: rgba(244, 243, 236, 0.5); - --shadow: - rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; - - --sans: system-ui, 'Segoe UI', Roboto, sans-serif; - --heading: system-ui, 'Segoe UI', Roboto, sans-serif; - --mono: ui-monospace, Consolas, monospace; - - font: 18px/145% var(--sans); - letter-spacing: 0.18px; - color-scheme: light dark; - color: var(--text); - background: var(--bg); - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - @media (max-width: 1024px) { - font-size: 16px; - } -} - -@media (prefers-color-scheme: dark) { - :root { - --text: #9ca3af; - --text-h: #f3f4f6; - --bg: #16171d; - --border: #2e303a; - --code-bg: #1f2028; - --accent: #c084fc; - --accent-bg: rgba(192, 132, 252, 0.15); - --accent-border: rgba(192, 132, 252, 0.5); - --social-bg: rgba(47, 48, 58, 0.5); - --shadow: - rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px; - } - - #social .button-icon { - filter: invert(1) brightness(2); - } -} - -#root { - width: 1126px; - max-width: 100%; - margin: 0 auto; - text-align: center; - border-inline: 1px solid var(--border); - min-height: 100svh; - display: flex; - flex-direction: column; - box-sizing: border-box; -} - -body { - margin: 0; -} - -h1, -h2 { - font-family: var(--heading); - font-weight: 500; - color: var(--text-h); -} - -h1 { - font-size: 56px; - letter-spacing: -1.68px; - margin: 32px 0; - @media (max-width: 1024px) { - font-size: 36px; - margin: 20px 0; - } -} -h2 { - font-size: 24px; - line-height: 118%; - letter-spacing: -0.24px; - margin: 0 0 8px; - @media (max-width: 1024px) { - font-size: 20px; - } -} -p { - margin: 0; -} - -code, -.counter { - font-family: var(--mono); - display: inline-flex; - border-radius: 4px; - color: var(--text-h); -} - -code { - font-size: 15px; - line-height: 135%; - padding: 4px 8px; - background: var(--code-bg); -} */ diff --git a/frontend/test/setup.ts b/frontend/test/setup.ts index 55f9d5f..e1f9cac 100644 --- a/frontend/test/setup.ts +++ b/frontend/test/setup.ts @@ -1,4 +1,4 @@ -import { expect, afterEach } from 'vitest'; +import {afterEach } from 'vitest'; import { cleanup } from '@testing-library/react'; import '@testing-library/jest-dom';