From 457ca7a8da22013fb2f3bf8db3103938a073c753 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Sun, 26 Jul 2026 22:07:48 -0700 Subject: [PATCH 01/16] next init --- stemformulas-next/.gitignore | 41 + stemformulas-next/AGENTS.md | 5 + stemformulas-next/CLAUDE.md | 1 + stemformulas-next/README.md | 36 + stemformulas-next/eslint.config.mjs | 18 + stemformulas-next/next.config.ts | 7 + stemformulas-next/package-lock.json | 6157 +++++++++++++++++++++ stemformulas-next/package.json | 24 + stemformulas-next/src/app/favicon.ico | Bin 0 -> 25931 bytes stemformulas-next/src/app/globals.css | 49 + stemformulas-next/src/app/layout.tsx | 30 + stemformulas-next/src/app/page.module.css | 142 + stemformulas-next/src/app/page.tsx | 66 + stemformulas-next/tsconfig.json | 34 + 14 files changed, 6610 insertions(+) create mode 100644 stemformulas-next/.gitignore create mode 100644 stemformulas-next/AGENTS.md create mode 100644 stemformulas-next/CLAUDE.md create mode 100644 stemformulas-next/README.md create mode 100644 stemformulas-next/eslint.config.mjs create mode 100644 stemformulas-next/next.config.ts create mode 100644 stemformulas-next/package-lock.json create mode 100644 stemformulas-next/package.json create mode 100644 stemformulas-next/src/app/favicon.ico create mode 100644 stemformulas-next/src/app/globals.css create mode 100644 stemformulas-next/src/app/layout.tsx create mode 100644 stemformulas-next/src/app/page.module.css create mode 100644 stemformulas-next/src/app/page.tsx create mode 100644 stemformulas-next/tsconfig.json diff --git a/stemformulas-next/.gitignore b/stemformulas-next/.gitignore new file mode 100644 index 00000000..5ef6a520 --- /dev/null +++ b/stemformulas-next/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/stemformulas-next/AGENTS.md b/stemformulas-next/AGENTS.md new file mode 100644 index 00000000..8bd0e390 --- /dev/null +++ b/stemformulas-next/AGENTS.md @@ -0,0 +1,5 @@ + +# This is NOT the Next.js you know + +This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices. + diff --git a/stemformulas-next/CLAUDE.md b/stemformulas-next/CLAUDE.md new file mode 100644 index 00000000..43c994c2 --- /dev/null +++ b/stemformulas-next/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/stemformulas-next/README.md b/stemformulas-next/README.md new file mode 100644 index 00000000..e215bc4c --- /dev/null +++ b/stemformulas-next/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/stemformulas-next/eslint.config.mjs b/stemformulas-next/eslint.config.mjs new file mode 100644 index 00000000..05e726d1 --- /dev/null +++ b/stemformulas-next/eslint.config.mjs @@ -0,0 +1,18 @@ +import { defineConfig, globalIgnores } from "eslint/config"; +import nextVitals from "eslint-config-next/core-web-vitals"; +import nextTs from "eslint-config-next/typescript"; + +const eslintConfig = defineConfig([ + ...nextVitals, + ...nextTs, + // Override default ignores of eslint-config-next. + globalIgnores([ + // Default ignores of eslint-config-next: + ".next/**", + "out/**", + "build/**", + "next-env.d.ts", + ]), +]); + +export default eslintConfig; diff --git a/stemformulas-next/next.config.ts b/stemformulas-next/next.config.ts new file mode 100644 index 00000000..e9ffa308 --- /dev/null +++ b/stemformulas-next/next.config.ts @@ -0,0 +1,7 @@ +import type { NextConfig } from "next"; + +const nextConfig: NextConfig = { + /* config options here */ +}; + +export default nextConfig; diff --git a/stemformulas-next/package-lock.json b/stemformulas-next/package-lock.json new file mode 100644 index 00000000..c88b943e --- /dev/null +++ b/stemformulas-next/package-lock.json @@ -0,0 +1,6157 @@ +{ + "name": "stemformulas-next", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "stemformulas-next", + "version": "0.1.0", + "dependencies": { + "next": "16.2.12", + "react": "19.2.4", + "react-dom": "19.2.4" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.12", + "typescript": "^5" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@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.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@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.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "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.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "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.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", + "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.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.1.tgz", + "integrity": "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==", + "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.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.6.tgz", + "integrity": "sha512-l2Ul9PrHsPCKcEY/ac7VgFj9D80C7S68sOKc618SyHDPK36s1XcFebXY0iTzUVn4Yq+YbwvSnDmCz9yxjX+QrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.3.0", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.5", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.5.tgz", + "integrity": "sha512-QywQuszQh77pIXCsq998c8hbhSTI/azTty1Z6N53dmAudKHhy573j3yvRLsX2BSp8YpLtoCEG8E9DJe+8zUh4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "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/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@next/env": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.12.tgz", + "integrity": "sha512-d0Z5Bc13Fa4nR8pFAKx2jay2yhJM16vlfHbTzYnUQAxlNb6B6lmn4hjt69lYNt4kRtyYP6gEM49lPRHNbIyneg==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.12.tgz", + "integrity": "sha512-uF2z/qAK2q7B5/6CpnFcBRX6jOq5iCO+Uqh1UkJhXljX1JwLarLYhhoJadO6dPb6moTprOKewMXheBcbIoSbug==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.12.tgz", + "integrity": "sha512-0W1R0teHWJrqKX0FH20IzzIWAOuGtBxPGuObrxy1lE8hQvCFj49KE8a3WUg0D7sq6rn6zkM4c7YGUnhudBS6oA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.12.tgz", + "integrity": "sha512-Hy5Ls099+aFUmOLmIgPfLqNi6iCwhL3uQCssz5rWk+5Nkc6TUKCE83DY5BbNylfm3+mfwcSFnLRfrZDJhVxdtw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.12.tgz", + "integrity": "sha512-+YqU2h1cQkHsGfvjAsrSmst8UIFBibBGm5x3Xgel8NLMiDQtNOM4sM2GOEMvG5YiOBNeN/Ykk8cQC2S0Xrqljg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.12.tgz", + "integrity": "sha512-0qjhiYBaKAqF63LA1ZWAAnKTzFUguAaZiRa5etMLGGPj/B6uEVjtIZldIzFEp3wHlB0koK6aTzqPtSdplTCjoA==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.12.tgz", + "integrity": "sha512-7A3q26W+h7gnA15uqBToNuDqBEFZZcqh0mW2mn4AJh/G5pdg2RVE3n4slzLEliASZFG3NmsbEzng/x2Sh09mBg==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.12.tgz", + "integrity": "sha512-qSjL/uppm+cbh21s72Ss8gkiOhQ4dExWHNGOWy6eZV7STj5WsKehgxT61beSsOj+YYQuTplL376lOCdMQU5T8w==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.12.tgz", + "integrity": "sha512-X6hzsOUJac/e7AWSbn9gQ9nzHld1xWP5iyjHpYWvud8pufB679O1xg4JDyKr8Xd69Jvd+kM2Der6uftiZCmjYA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.12.tgz", + "integrity": "sha512-F6fakeHuFTLOPt0bslQJdf+xtT+WIP9DVn/m4y1w1mRnVPyh3D/cNvzlRkxM444xfm+IvvYNSOrKiA2CDJ0Uxw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "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/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.65.0.tgz", + "integrity": "sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/type-utils": "8.65.0", + "@typescript-eslint/utils": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", + "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.65.0", + "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.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", + "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.65.0.tgz", + "integrity": "sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.65.0.tgz", + "integrity": "sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.65.0", + "@typescript-eslint/types": "^8.65.0", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.65.0.tgz", + "integrity": "sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0" + }, + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.65.0.tgz", + "integrity": "sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.65.0.tgz", + "integrity": "sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/utils": "8.65.0", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.65.0.tgz", + "integrity": "sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.65.0.tgz", + "integrity": "sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.65.0", + "@typescript-eslint/tsconfig-utils": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", + "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/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/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz", + "integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.65.0.tgz", + "integrity": "sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.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/visitor-keys": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.65.0.tgz", + "integrity": "sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.65.0", + "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/@typescript-eslint/visitor-keys/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/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", + "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": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi/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/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "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/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/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.12.1.tgz", + "integrity": "sha512-s7iGf5GaVMxEG0ENN9x+xTr7GFZCb1ZP/1uATUpCEK2X78nDB3RwbtFCo9pGAf9ru+VwoQ464DkaLEeRM08wJA==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "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.11.4", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.4.tgz", + "integrity": "sha512-s4+sLr9mZ/CyqeRritFeYV/Zx73OAtmaHn6kkBS1XRoJn1hrg3xIDUcpicAEX68tkcIN0iBCgti31C8zxtkhsQ==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz", + "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", + "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.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz", + "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==", + "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.44", + "caniuse-lite": "^1.0.30001806", + "electron-to-chromium": "^1.5.393", + "node-releases": "^2.0.51", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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/caniuse-lite": { + "version": "1.0.30001806", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", + "integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==", + "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/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "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/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/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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/electron-to-chromium": { + "version": "1.5.396", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.396.tgz", + "integrity": "sha512-yHiw2Y3C3H9U6TMbOfoWK/BPreiOPXRfTWPBwQBoZG6/8TB6eOPnsy5oaRYuatR7Fw2SJ4kKforgufeo7fq0EQ==", + "dev": true, + "license": "ISC" + }, + "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/es-abstract": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract-get": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-abstract-get/-/es-abstract-get-1.0.0.tgz", + "integrity": "sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.2", + "is-callable": "^1.2.7", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.4.0.tgz", + "integrity": "sha512-c/A0P0oxkACDc+cKWw8evLXK83oBKgn0qPOqCYT4x9uolpCIJAcYvJC9QYKNDRPsTeGyCrQ326jrvgZWdCdK5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.4.tgz", + "integrity": "sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-abstract-get": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "is-callable": "^1.2.7", + "is-date-object": "^1.1.0", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": "9.39.5", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.5.tgz", + "integrity": "sha512-DgZS62aPLXKlnxILS/AYCoRvHaZeXceIzlXPkkGGzJWSow1aEk0lbTlxUSlyjC8jcaKxAdOnTDz+o1JFSBsyjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.6", + "@eslint/js": "9.39.5", + "@eslint/plugin-kit": "^0.4.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", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.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", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.2.12.tgz", + "integrity": "sha512-iaaf4vvKo5h2LBdGt0JuRv7t0Ysqr9FMCiFxbptDg8LqOE//mIKR80DdpOnSVM7qjLH3jT8P0aFiwXxBEGZRXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.2.12", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", + "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.16.1", + "resolve": "^2.0.0-next.6" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.14.0.tgz", + "integrity": "sha512-W2WCRZ9Dqntd+2u8jJcVMV2PKulc6RdLgUUoh/yQr3uB6lo/ZOeGx11sv60/8S4QFFKNslAlWhr9u0Ef7ZW6Ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "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-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "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-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/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/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/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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/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": "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.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.3.tgz", + "integrity": "sha512-/zipXxyO6rGvuNGDiULY9MvEGSkb2gaG4GGH4ygMi0ZZzyMHdUZBmntJmx5x1G2VuPytCwGN4xsJP6cw+sK+vQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/function.prototype.name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "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-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "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": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "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/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "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/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "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-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/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "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/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "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/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/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "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/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "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/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/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "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/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/next": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.12.tgz", + "integrity": "sha512-iD59eYQWmbFcEbX7v/acG5DRym9iw1DdaPoD0WTA920naWsE25wShzJW4+UvAs8MK9EC2kBfIH6vtto1H1PHGw==", + "license": "MIT", + "dependencies": { + "@next/env": "16.2.12", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.9.19", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=20.9.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "16.2.12", + "@next/swc-darwin-x64": "16.2.12", + "@next/swc-linux-arm64-gnu": "16.2.12", + "@next/swc-linux-arm64-musl": "16.2.12", + "@next/swc-linux-x64-gnu": "16.2.12", + "@next/swc-linux-x64-musl": "16.2.12", + "@next/swc-win32-arm64-msvc": "16.2.12", + "@next/swc-win32-x64-msvc": "16.2.12", + "sharp": "^0.34.5" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/node-exports-info": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.2.tgz", + "integrity": "sha512-kXs9Go0cah0qHVV2v389IXQLdLCeE1xfFtjOAF+iobu0OIoG1pje8At2vMHyaPMiPMnG/LWP50twML21eMcAag==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-releases": { + "version": "2.0.51", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", + "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/own-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.2.tgz", + "integrity": "sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/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==", + "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/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "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.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "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/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "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/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.2", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.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-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", + "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "has-property-descriptors": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", + "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "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/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "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/tinyglobby/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/tinyglobby/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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/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/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.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==", + "license": "0BSD" + }, + "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/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.65.0.tgz", + "integrity": "sha512-/ggrHAwyjENDusvyxbuqxAC2dTnZg/Z8F+fgQtYIz+L6n/9HfSlEZcFGV/NsMNa6CkGk0xUjUAFwC0vHOflvIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.65.0", + "@typescript-eslint/parser": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/utils": "8.65.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/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.4" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" + } + }, + "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/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/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/stemformulas-next/package.json b/stemformulas-next/package.json new file mode 100644 index 00000000..fc5777e6 --- /dev/null +++ b/stemformulas-next/package.json @@ -0,0 +1,24 @@ +{ + "name": "stemformulas-next", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "eslint" + }, + "dependencies": { + "next": "16.2.12", + "react": "19.2.4", + "react-dom": "19.2.4" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.12", + "typescript": "^5" + } +} diff --git a/stemformulas-next/src/app/favicon.ico b/stemformulas-next/src/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/stemformulas-next/src/app/globals.css b/stemformulas-next/src/app/globals.css new file mode 100644 index 00000000..4c18fb3b --- /dev/null +++ b/stemformulas-next/src/app/globals.css @@ -0,0 +1,49 @@ +:root { + --background: #ffffff; + --foreground: #171717; +} + +@media (prefers-color-scheme: dark) { + :root { + --background: #0a0a0a; + --foreground: #ededed; + } +} + +html { + height: 100%; +} + +html, +body { + max-width: 100vw; + overflow-x: hidden; +} + +body { + min-height: 100%; + display: flex; + flex-direction: column; + color: var(--foreground); + background: var(--background); + font-family: Arial, Helvetica, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +* { + box-sizing: border-box; + padding: 0; + margin: 0; +} + +a { + color: inherit; + text-decoration: none; +} + +@media (prefers-color-scheme: dark) { + html { + color-scheme: dark; + } +} diff --git a/stemformulas-next/src/app/layout.tsx b/stemformulas-next/src/app/layout.tsx new file mode 100644 index 00000000..1da6a2fa --- /dev/null +++ b/stemformulas-next/src/app/layout.tsx @@ -0,0 +1,30 @@ +import type { Metadata } from "next"; +import { Geist, Geist_Mono } from "next/font/google"; +import "./globals.css"; + +const geistSans = Geist({ + variable: "--font-geist-sans", + subsets: ["latin"], +}); + +const geistMono = Geist_Mono({ + variable: "--font-geist-mono", + subsets: ["latin"], +}); + +export const metadata: Metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/stemformulas-next/src/app/page.module.css b/stemformulas-next/src/app/page.module.css new file mode 100644 index 00000000..643fe27d --- /dev/null +++ b/stemformulas-next/src/app/page.module.css @@ -0,0 +1,142 @@ +.page { + --background: #fafafa; + --foreground: #fff; + + --text-primary: #000; + --text-secondary: #666; + + --button-primary-hover: #383838; + --button-secondary-hover: #f2f2f2; + --button-secondary-border: #ebebeb; + + display: flex; + flex: 1; + flex-direction: column; + align-items: center; + justify-content: center; + font-family: var(--font-geist-sans); + background-color: var(--background); +} + +.main { + display: flex; + flex: 1; + width: 100%; + max-width: 800px; + flex-direction: column; + align-items: flex-start; + justify-content: space-between; + background-color: var(--foreground); + padding: 120px 60px; +} + +.intro { + display: flex; + flex-direction: column; + align-items: flex-start; + text-align: left; + gap: 24px; +} + +.intro h1 { + max-width: 320px; + font-size: 40px; + font-weight: 600; + line-height: 48px; + letter-spacing: -2.4px; + text-wrap: balance; + color: var(--text-primary); +} + +.intro p { + max-width: 440px; + font-size: 18px; + line-height: 32px; + text-wrap: balance; + color: var(--text-secondary); +} + +.intro a { + font-weight: 500; + color: var(--text-primary); +} + +.ctas { + display: flex; + flex-direction: row; + width: 100%; + max-width: 440px; + gap: 16px; + font-size: 14px; +} + +.ctas a { + display: flex; + justify-content: center; + align-items: center; + height: 40px; + padding: 0 16px; + border-radius: 128px; + border: 1px solid transparent; + transition: 0.2s; + cursor: pointer; + width: fit-content; + font-weight: 500; +} + +a.primary { + background: var(--text-primary); + color: var(--background); + gap: 8px; +} + +a.secondary { + border-color: var(--button-secondary-border); +} + +/* Enable hover only on non-touch devices */ +@media (hover: hover) and (pointer: fine) { + a.primary:hover { + background: var(--button-primary-hover); + border-color: transparent; + } + + a.secondary:hover { + background: var(--button-secondary-hover); + border-color: transparent; + } +} + +@media (max-width: 600px) { + .main { + padding: 48px 24px; + } + + .intro { + gap: 16px; + } + + .intro h1 { + font-size: 32px; + line-height: 40px; + letter-spacing: -1.92px; + } +} + +@media (prefers-color-scheme: dark) { + .logo { + filter: invert(); + } + + .page { + --background: #000; + --foreground: #000; + + --text-primary: #ededed; + --text-secondary: #999; + + --button-primary-hover: #ccc; + --button-secondary-hover: #1a1a1a; + --button-secondary-border: #1a1a1a; + } +} diff --git a/stemformulas-next/src/app/page.tsx b/stemformulas-next/src/app/page.tsx new file mode 100644 index 00000000..7b947a2d --- /dev/null +++ b/stemformulas-next/src/app/page.tsx @@ -0,0 +1,66 @@ +import Image from "next/image"; +import styles from "./page.module.css"; + +export default function Home() { + return ( +
+
+ Next.js logo +
+

To get started, edit the page.tsx file.

+

+ Looking for a starting point or more instructions? Head over to{" "} + + Templates + {" "} + or the{" "} + + Learning + {" "} + center. +

+
+ +
+
+ ); +} diff --git a/stemformulas-next/tsconfig.json b/stemformulas-next/tsconfig.json new file mode 100644 index 00000000..cf9c65d3 --- /dev/null +++ b/stemformulas-next/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts", + "**/*.mts" + ], + "exclude": ["node_modules"] +} From 82106717875549e3318cbb0b104e8169e2cefaaf Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Sun, 26 Jul 2026 23:32:11 -0700 Subject: [PATCH 02/16] working formula page --- .gitignore | 3 +- package-lock.json | 2189 ++++++++++++++++ package.json | 10 + stemformulas-next/.gitignore | 2 +- stemformulas-next/mdx-components.tsx | 5 + stemformulas-next/next.config.ts | 8 +- stemformulas-next/package-lock.json | 2261 ++++++++++++++++- stemformulas-next/package.json | 7 +- .../src/app/formulas/[slug]/layout.tsx | 7 + .../src/app/formulas/[slug]/page.module.css | 84 + .../src/app/formulas/[slug]/page.tsx | 116 + stemformulas-next/src/app/globals.css | 365 ++- stemformulas-next/src/app/layout.tsx | 57 +- .../src/content/formulas/amperes-law.mdx | 34 + .../content/formulas/arithmetic-gradient.mdx | 34 + .../src/content/formulas/bayes-theorem.mdx | 38 + .../content/formulas/bernoullis-principle.mdx | 49 + .../src/content/formulas/binets-formula.mdx | 20 + .../src/content/formulas/biot-savart-law.mdx | 29 + .../content/formulas/boltzmann-entropy.mdx | 23 + .../formulas/canonical-partition-function.mdx | 63 + .../src/content/formulas/capacitance.mdx | 31 + .../src/content/formulas/capacitor-charge.mdx | 30 + .../content/formulas/capacitor-current.mdx | 30 + .../src/content/formulas/capacitor-energy.mdx | 29 + .../formulas/cauchys-integral-theorem.mdx | 19 + .../formulas/conditional-probability.mdx | 23 + .../src/content/formulas/convolution.mdx | 19 + .../src/content/formulas/cosine-law.mdx | 22 + .../src/content/formulas/cosine-law.png | Bin 0 -> 21282 bytes .../src/content/formulas/coulombs-law.mdx | 44 + .../src/content/formulas/cross-product.mdx | 37 + .../src/content/formulas/curl.mdx | 63 + .../content/formulas/de-moivres-theorem.mdx | 23 + .../formulas/definition-of-the-derivative.mdx | 30 + .../src/content/formulas/determinant.mdx | 36 + .../content/formulas/divergence-theorem.mdx | 26 + .../src/content/formulas/divergence.mdx | 48 + .../src/content/formulas/dot-product.mdx | 37 + .../formulas/double-angle-trig-identities.mdx | 21 + .../src/content/formulas/energy-of-light.mdx | 28 + .../equivalent-uniform-annual-cost.mdx | 43 + .../src/content/formulas/error-function.mdx | 17 + .../formulas/eulers-identity-formula.mdx | 25 + .../src/content/formulas/feynmanns-trick.mdx | 20 + .../finite-difference-approximations.mdx | 40 + .../content/formulas/finite-infinite-sums.mdx | 26 + .../content/formulas/fourier-transform.mdx | 39 + .../fundmantal-theorem-of-calculus.mdx | 32 + .../formulas/future-to-net-present-worth.mdx | 22 + .../src/content/formulas/gauss-law.mdx | 31 + .../src/content/formulas/gaussian.mdx | 23 + .../src/content/formulas/gradient.mdx | 52 + .../grand-canonical-partition-function.mdx | 24 + .../gravitational-potential-energy.mdx | 38 + .../src/content/formulas/greek-letters.mdx | 38 + .../src/content/formulas/greens-theorem.mdx | 24 + .../content/formulas/hookes-law-springs.mdx | 23 + .../formulas/hookes-law-stress-strain.mdx | 24 + .../content/formulas/hydraulic-diameter.mdx | 23 + .../content/formulas/hydrostatic-equation.mdx | 30 + .../formulas/hyperbolic-trig-functions.mdx | 26 + .../src/content/formulas/ideal-gas-law.mdx | 37 + .../src/content/formulas/image.png | Bin 0 -> 165628 bytes .../formulas/impulse-momentum-theorem.mdx | 23 + .../formulas/incompressible-navier-stokes.mdx | 62 + .../src/content/formulas/inductor-energy.mdx | 29 + .../src/content/formulas/inductor-voltage.mdx | 24 + .../content/formulas/kinematic-viscosity.mdx | 22 + .../src/content/formulas/kinetic-energy.mdx | 30 + .../content/formulas/laplaces-equation.mdx | 34 + .../src/content/formulas/lhopitals-rule.mdx | 33 + .../formulas/light-wavelength-frequency.mdx | 32 + .../formulas/linear-thermal-expansion.mdx | 24 + .../src/content/formulas/log-laws.mdx | 34 + .../formulas/lorentz-transformations.mdx | 22 + .../formulas/matrix-multiplication.mdx | 20 + .../content/formulas/maxwells-equations.mdx | 78 + .../formulas/modulus-of-resilience.mdx | 32 + .../content/formulas/modulus-of-toughness.mdx | 30 + .../content/formulas/newtonian-momentum.mdx | 27 + .../src/content/formulas/newtons-2nd-law.mdx | 26 + .../formulas/newtons-law-of-cooling.mdx | 26 + .../src/content/formulas/ohms-law.mdx | 31 + .../formulas/pendulum-frequency-period.mdx | 32 + .../src/content/formulas/plane-equation.mdx | 42 + .../src/content/formulas/poissons-ratio.mdx | 24 + .../src/content/formulas/preview.png | Bin 0 -> 52972 bytes .../formulas/projection-and-perpendicular.mdx | 29 + .../src/content/formulas/projection.png | Bin 0 -> 54800 bytes .../content/formulas/pythagorean-theorem.mdx | 35 + .../formulas/pythagorean-trig-identities.mdx | 20 + .../content/formulas/quadratic-formula.mdx | 38 + .../src/content/formulas/quadric-surfaces.mdx | 44 + .../relativistic-velocity-addition.mdx | 25 + .../src/content/formulas/resistance.mdx | 24 + .../src/content/formulas/reynolds-number.mdx | 30 + .../formulas/schrodingers-equation.mdx | 44 + .../src/content/formulas/shear-modulus.mdx | 22 + .../content/formulas/shockley-diode-model.mdx | 27 + .../src/content/formulas/sine-law.mdx | 20 + .../src/content/formulas/sinelaw-triangle.png | Bin 0 -> 41866 bytes .../src/content/formulas/snells-law.mdx | 25 + .../src/content/formulas/snells-law.png | Bin 0 -> 78596 bytes .../src/content/formulas/solution.png | Bin 0 -> 74578 bytes .../src/content/formulas/specific-gravity.mdx | 21 + .../src/content/formulas/specific-weight.mdx | 22 + .../src/content/formulas/sphere-equation.mdx | 24 + .../formulas/spring-frequency-period.mdx | 30 + .../src/content/formulas/stokes-theorem.mdx | 25 + .../formulas/taylor-expansion-of-e.mdx | 17 + .../formulas/taylor-maclaurin-series.mdx | 37 + .../content/formulas/thin-lens-equation.mdx | 24 + .../src/content/formulas/triangle.png | Bin 0 -> 11423 bytes .../trig-angle-sum-difference-identities.mdx | 23 + .../content/formulas/trig-in-terms-of-e.mdx | 18 + .../vector-calculus-product-rules.mdx | 26 + .../src/content/formulas/viscosity.mdx | 26 + 118 files changed, 7906 insertions(+), 164 deletions(-) create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 stemformulas-next/mdx-components.tsx create mode 100644 stemformulas-next/src/app/formulas/[slug]/layout.tsx create mode 100644 stemformulas-next/src/app/formulas/[slug]/page.module.css create mode 100644 stemformulas-next/src/app/formulas/[slug]/page.tsx create mode 100644 stemformulas-next/src/content/formulas/amperes-law.mdx create mode 100644 stemformulas-next/src/content/formulas/arithmetic-gradient.mdx create mode 100644 stemformulas-next/src/content/formulas/bayes-theorem.mdx create mode 100644 stemformulas-next/src/content/formulas/bernoullis-principle.mdx create mode 100644 stemformulas-next/src/content/formulas/binets-formula.mdx create mode 100644 stemformulas-next/src/content/formulas/biot-savart-law.mdx create mode 100644 stemformulas-next/src/content/formulas/boltzmann-entropy.mdx create mode 100644 stemformulas-next/src/content/formulas/canonical-partition-function.mdx create mode 100644 stemformulas-next/src/content/formulas/capacitance.mdx create mode 100644 stemformulas-next/src/content/formulas/capacitor-charge.mdx create mode 100644 stemformulas-next/src/content/formulas/capacitor-current.mdx create mode 100644 stemformulas-next/src/content/formulas/capacitor-energy.mdx create mode 100644 stemformulas-next/src/content/formulas/cauchys-integral-theorem.mdx create mode 100644 stemformulas-next/src/content/formulas/conditional-probability.mdx create mode 100644 stemformulas-next/src/content/formulas/convolution.mdx create mode 100644 stemformulas-next/src/content/formulas/cosine-law.mdx create mode 100644 stemformulas-next/src/content/formulas/cosine-law.png create mode 100644 stemformulas-next/src/content/formulas/coulombs-law.mdx create mode 100644 stemformulas-next/src/content/formulas/cross-product.mdx create mode 100644 stemformulas-next/src/content/formulas/curl.mdx create mode 100644 stemformulas-next/src/content/formulas/de-moivres-theorem.mdx create mode 100644 stemformulas-next/src/content/formulas/definition-of-the-derivative.mdx create mode 100644 stemformulas-next/src/content/formulas/determinant.mdx create mode 100644 stemformulas-next/src/content/formulas/divergence-theorem.mdx create mode 100644 stemformulas-next/src/content/formulas/divergence.mdx create mode 100644 stemformulas-next/src/content/formulas/dot-product.mdx create mode 100644 stemformulas-next/src/content/formulas/double-angle-trig-identities.mdx create mode 100644 stemformulas-next/src/content/formulas/energy-of-light.mdx create mode 100644 stemformulas-next/src/content/formulas/equivalent-uniform-annual-cost.mdx create mode 100644 stemformulas-next/src/content/formulas/error-function.mdx create mode 100644 stemformulas-next/src/content/formulas/eulers-identity-formula.mdx create mode 100644 stemformulas-next/src/content/formulas/feynmanns-trick.mdx create mode 100644 stemformulas-next/src/content/formulas/finite-difference-approximations.mdx create mode 100644 stemformulas-next/src/content/formulas/finite-infinite-sums.mdx create mode 100644 stemformulas-next/src/content/formulas/fourier-transform.mdx create mode 100644 stemformulas-next/src/content/formulas/fundmantal-theorem-of-calculus.mdx create mode 100644 stemformulas-next/src/content/formulas/future-to-net-present-worth.mdx create mode 100644 stemformulas-next/src/content/formulas/gauss-law.mdx create mode 100644 stemformulas-next/src/content/formulas/gaussian.mdx create mode 100644 stemformulas-next/src/content/formulas/gradient.mdx create mode 100644 stemformulas-next/src/content/formulas/grand-canonical-partition-function.mdx create mode 100644 stemformulas-next/src/content/formulas/gravitational-potential-energy.mdx create mode 100644 stemformulas-next/src/content/formulas/greek-letters.mdx create mode 100644 stemformulas-next/src/content/formulas/greens-theorem.mdx create mode 100644 stemformulas-next/src/content/formulas/hookes-law-springs.mdx create mode 100644 stemformulas-next/src/content/formulas/hookes-law-stress-strain.mdx create mode 100644 stemformulas-next/src/content/formulas/hydraulic-diameter.mdx create mode 100644 stemformulas-next/src/content/formulas/hydrostatic-equation.mdx create mode 100644 stemformulas-next/src/content/formulas/hyperbolic-trig-functions.mdx create mode 100644 stemformulas-next/src/content/formulas/ideal-gas-law.mdx create mode 100644 stemformulas-next/src/content/formulas/image.png create mode 100644 stemformulas-next/src/content/formulas/impulse-momentum-theorem.mdx create mode 100644 stemformulas-next/src/content/formulas/incompressible-navier-stokes.mdx create mode 100644 stemformulas-next/src/content/formulas/inductor-energy.mdx create mode 100644 stemformulas-next/src/content/formulas/inductor-voltage.mdx create mode 100644 stemformulas-next/src/content/formulas/kinematic-viscosity.mdx create mode 100644 stemformulas-next/src/content/formulas/kinetic-energy.mdx create mode 100644 stemformulas-next/src/content/formulas/laplaces-equation.mdx create mode 100644 stemformulas-next/src/content/formulas/lhopitals-rule.mdx create mode 100644 stemformulas-next/src/content/formulas/light-wavelength-frequency.mdx create mode 100644 stemformulas-next/src/content/formulas/linear-thermal-expansion.mdx create mode 100644 stemformulas-next/src/content/formulas/log-laws.mdx create mode 100644 stemformulas-next/src/content/formulas/lorentz-transformations.mdx create mode 100644 stemformulas-next/src/content/formulas/matrix-multiplication.mdx create mode 100644 stemformulas-next/src/content/formulas/maxwells-equations.mdx create mode 100644 stemformulas-next/src/content/formulas/modulus-of-resilience.mdx create mode 100644 stemformulas-next/src/content/formulas/modulus-of-toughness.mdx create mode 100644 stemformulas-next/src/content/formulas/newtonian-momentum.mdx create mode 100644 stemformulas-next/src/content/formulas/newtons-2nd-law.mdx create mode 100644 stemformulas-next/src/content/formulas/newtons-law-of-cooling.mdx create mode 100644 stemformulas-next/src/content/formulas/ohms-law.mdx create mode 100644 stemformulas-next/src/content/formulas/pendulum-frequency-period.mdx create mode 100644 stemformulas-next/src/content/formulas/plane-equation.mdx create mode 100644 stemformulas-next/src/content/formulas/poissons-ratio.mdx create mode 100644 stemformulas-next/src/content/formulas/preview.png create mode 100644 stemformulas-next/src/content/formulas/projection-and-perpendicular.mdx create mode 100644 stemformulas-next/src/content/formulas/projection.png create mode 100644 stemformulas-next/src/content/formulas/pythagorean-theorem.mdx create mode 100644 stemformulas-next/src/content/formulas/pythagorean-trig-identities.mdx create mode 100644 stemformulas-next/src/content/formulas/quadratic-formula.mdx create mode 100644 stemformulas-next/src/content/formulas/quadric-surfaces.mdx create mode 100644 stemformulas-next/src/content/formulas/relativistic-velocity-addition.mdx create mode 100644 stemformulas-next/src/content/formulas/resistance.mdx create mode 100644 stemformulas-next/src/content/formulas/reynolds-number.mdx create mode 100644 stemformulas-next/src/content/formulas/schrodingers-equation.mdx create mode 100644 stemformulas-next/src/content/formulas/shear-modulus.mdx create mode 100644 stemformulas-next/src/content/formulas/shockley-diode-model.mdx create mode 100644 stemformulas-next/src/content/formulas/sine-law.mdx create mode 100644 stemformulas-next/src/content/formulas/sinelaw-triangle.png create mode 100644 stemformulas-next/src/content/formulas/snells-law.mdx create mode 100644 stemformulas-next/src/content/formulas/snells-law.png create mode 100644 stemformulas-next/src/content/formulas/solution.png create mode 100644 stemformulas-next/src/content/formulas/specific-gravity.mdx create mode 100644 stemformulas-next/src/content/formulas/specific-weight.mdx create mode 100644 stemformulas-next/src/content/formulas/sphere-equation.mdx create mode 100644 stemformulas-next/src/content/formulas/spring-frequency-period.mdx create mode 100644 stemformulas-next/src/content/formulas/stokes-theorem.mdx create mode 100644 stemformulas-next/src/content/formulas/taylor-expansion-of-e.mdx create mode 100644 stemformulas-next/src/content/formulas/taylor-maclaurin-series.mdx create mode 100644 stemformulas-next/src/content/formulas/thin-lens-equation.mdx create mode 100644 stemformulas-next/src/content/formulas/triangle.png create mode 100644 stemformulas-next/src/content/formulas/trig-angle-sum-difference-identities.mdx create mode 100644 stemformulas-next/src/content/formulas/trig-in-terms-of-e.mdx create mode 100644 stemformulas-next/src/content/formulas/vector-calculus-product-rules.mdx create mode 100644 stemformulas-next/src/content/formulas/viscosity.mdx diff --git a/.gitignore b/.gitignore index 4d0de7e2..32e88ff1 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ __pycache__/ *.py[cod] pynecone.db .web -.env \ No newline at end of file +.env +**node_modules/** \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..defae028 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2189 @@ +{ + "name": "stemformulas.github.io", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@mdx-js/mdx": "^3.1.1", + "@mdx-js/react": "^3.1.1", + "@next/mdx": "^16.2.12", + "gray-matter": "^4.0.3", + "rehype-katex": "^7.0.1", + "remark-math": "^6.0.0" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", + "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@next/mdx": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-16.2.12.tgz", + "integrity": "sha512-bbKvq/7SIJZgQFRYL3wwnzLwCBviQfWi5UR61RDWwaMX3fV6iSqKfVr5SErRNA/PhMer/ylvErX4SVaGNrwKcw==", + "license": "MIT", + "dependencies": { + "source-map": "^0.7.0" + }, + "peerDependencies": { + "@mdx-js/loader": ">=0.15.0", + "@mdx-js/react": ">=0.15.0" + }, + "peerDependenciesMeta": { + "@mdx-js/loader": { + "optional": true + }, + "@mdx-js/react": { + "optional": true + } + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/katex": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz", + "integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz", + "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "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==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "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==", + "license": "MIT", + "peer": true + }, + "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/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz", + "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/katex": { + "version": "0.16.47", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz", + "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-math": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", + "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "longest-streak": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-math": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "license": "MIT", + "dependencies": { + "@types/katex": "^0.16.0", + "devlop": "^1.0.0", + "katex": "^0.16.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "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/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/react": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", + "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-katex": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", + "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/katex": "^0.16.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "katex": "^0.16.0", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-math": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", + "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-math": "^3.0.0", + "micromark-extension-math": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..a877b703 --- /dev/null +++ b/package.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "@mdx-js/mdx": "^3.1.1", + "@mdx-js/react": "^3.1.1", + "@next/mdx": "^16.2.12", + "gray-matter": "^4.0.3", + "rehype-katex": "^7.0.1", + "remark-math": "^6.0.0" + } +} diff --git a/stemformulas-next/.gitignore b/stemformulas-next/.gitignore index 5ef6a520..c427d186 100644 --- a/stemformulas-next/.gitignore +++ b/stemformulas-next/.gitignore @@ -1,7 +1,7 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -/node_modules +**node_modules** /.pnp .pnp.* .yarn/* diff --git a/stemformulas-next/mdx-components.tsx b/stemformulas-next/mdx-components.tsx new file mode 100644 index 00000000..e7013b7d --- /dev/null +++ b/stemformulas-next/mdx-components.tsx @@ -0,0 +1,5 @@ +import type { MDXComponents } from "mdx/types"; + +export function useMDXComponents(components: MDXComponents): MDXComponents { + return components; +} \ No newline at end of file diff --git a/stemformulas-next/next.config.ts b/stemformulas-next/next.config.ts index e9ffa308..292afd74 100644 --- a/stemformulas-next/next.config.ts +++ b/stemformulas-next/next.config.ts @@ -1,7 +1,9 @@ -import type { NextConfig } from "next"; +import type {NextConfig} from "next"; const nextConfig: NextConfig = { - /* config options here */ + turbopack: { + root: process.cwd(), + }, }; -export default nextConfig; +export default nextConfig \ No newline at end of file diff --git a/stemformulas-next/package-lock.json b/stemformulas-next/package-lock.json index c88b943e..5b250ea3 100644 --- a/stemformulas-next/package-lock.json +++ b/stemformulas-next/package-lock.json @@ -9,8 +9,11 @@ "version": "0.1.0", "dependencies": { "next": "16.2.12", + "next-mdx-remote": "^6.0.0", "react": "19.2.4", - "react-dom": "19.2.4" + "react-dom": "19.2.4", + "rehype-katex": "^7.0.1", + "remark-math": "^6.0.0" }, "devDependencies": { "@types/node": "^20", @@ -25,7 +28,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", @@ -167,7 +169,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1068,6 +1069,60 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", + "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, "node_modules/@napi-rs/wasm-runtime": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", @@ -1318,13 +1373,39 @@ "tslib": "^2.4.0" } }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, "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/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -1339,6 +1420,33 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/katex": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz", + "integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, "node_modules/@types/node": { "version": "20.19.43", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", @@ -1353,7 +1461,6 @@ "version": "19.2.17", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", - "dev": true, "license": "MIT", "dependencies": { "csstype": "^3.2.2" @@ -1369,6 +1476,12 @@ "@types/react": "^19.2.0" } }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.65.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.65.0.tgz", @@ -1664,6 +1777,12 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz", + "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", + "license": "ISC" + }, "node_modules/@unrs/resolver-binding-android-arm-eabi": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", @@ -2022,7 +2141,6 @@ "version": "8.17.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", - "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -2035,7 +2153,6 @@ "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" @@ -2258,6 +2375,15 @@ "dev": true, "license": "MIT" }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, "node_modules/async-function": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", @@ -2304,6 +2430,16 @@ "node": ">= 0.4" } }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2461,6 +2597,16 @@ ], "license": "CC-BY-4.0" }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2478,12 +2624,62 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2504,6 +2700,25 @@ "dev": true, "license": "MIT" }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2537,7 +2752,6 @@ "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/damerau-levenshtein": { @@ -2605,7 +2819,6 @@ "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" @@ -2619,6 +2832,19 @@ } } }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -2662,6 +2888,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "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", @@ -2672,6 +2907,19 @@ "node": ">=8" } }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -2714,6 +2962,18 @@ "dev": true, "license": "MIT" }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/es-abstract": { "version": "1.24.2", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", @@ -2913,6 +3173,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -3332,6 +3624,97 @@ "node": ">=4.0" } }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3342,6 +3725,12 @@ "node": ">=0.10.0" } }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3767,48 +4156,244 @@ "node": ">= 0.4" } }, - "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/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "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, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", "license": "MIT", "dependencies": { - "hermes-estree": "0.25.1" + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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, + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", "license": "MIT", - "engines": { - "node": ">= 4" + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/imurmurhash": { @@ -3821,6 +4406,12 @@ "node": ">=0.8.19" } }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -3836,6 +4427,30 @@ "node": ">= 0.4" } }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -3994,6 +4609,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-document.all": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", @@ -4069,6 +4694,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -4122,6 +4757,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -4303,7 +4950,6 @@ "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": { @@ -4392,6 +5038,22 @@ "node": ">=4.0" } }, + "node_modules/katex": { + "version": "0.16.47", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz", + "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -4459,6 +5121,16 @@ "dev": true, "license": "MIT" }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -4482,6 +5154,18 @@ "yallist": "^3.0.2" } }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -4492,108 +5176,911 @@ "node": ">= 0.4" } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", "license": "MIT", - "engines": { - "node": ">= 8" + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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, + "node_modules/mdast-util-math": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", + "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "longest-streak": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "unist-util-remove-position": "^5.0.0" }, - "engines": { - "node": ">=8.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, - "engines": { - "node": "*" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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.16", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", - "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { - "url": "https://opencollective.com/napi-postinstall" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "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/next": { - "version": "16.2.12", - "resolved": "https://registry.npmjs.org/next/-/next-16.2.12.tgz", - "integrity": "sha512-iD59eYQWmbFcEbX7v/acG5DRym9iw1DdaPoD0WTA920naWsE25wShzJW4+UvAs8MK9EC2kBfIH6vtto1H1PHGw==", + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "license": "MIT", "dependencies": { - "@next/env": "16.2.12", + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-math": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "license": "MIT", + "dependencies": { + "@types/katex": "^0.16.0", + "devlop": "^1.0.0", + "katex": "^0.16.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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/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/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/nanoid": { + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "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/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/next": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.12.tgz", + "integrity": "sha512-iD59eYQWmbFcEbX7v/acG5DRym9iw1DdaPoD0WTA920naWsE25wShzJW4+UvAs8MK9EC2kBfIH6vtto1H1PHGw==", + "license": "MIT", + "dependencies": { + "@next/env": "16.2.12", "@swc/helpers": "0.5.15", "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", @@ -4640,6 +6127,28 @@ } } }, + "node_modules/next-mdx-remote": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-6.0.0.tgz", + "integrity": "sha512-cJEpEZlgD6xGjB4jL8BnI8FaYdN9BzZM4NwadPe1YQr7pqoWjg9EBCMv3nXBkuHqMRfv2y33SzUsuyNh9LFAQQ==", + "license": "MPL-2.0", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@mdx-js/mdx": "^3.0.1", + "@mdx-js/react": "^3.0.1", + "unist-util-remove": "^4.0.0", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.1", + "vfile-matter": "^5.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=7" + }, + "peerDependencies": { + "react": ">=16" + } + }, "node_modules/node-exports-info": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.2.tgz", @@ -4868,10 +6377,47 @@ "dev": true, "license": "MIT", "dependencies": { - "callsites": "^3.0.0" + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/path-exists": { @@ -4980,6 +6526,16 @@ "react-is": "^16.13.1" } }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -5039,6 +6595,73 @@ "dev": true, "license": "MIT" }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -5083,6 +6706,103 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/rehype-katex": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", + "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/katex": "^0.16.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "katex": "^0.16.0", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-math": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", + "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-math": "^3.0.0", + "micromark-extension-math": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/resolve": { "version": "2.0.0-next.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", @@ -5439,6 +7159,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -5448,6 +7177,16 @@ "node": ">=0.10.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/stable-hash": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", @@ -5583,6 +7322,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -5606,6 +7359,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, "node_modules/styled-jsx": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", @@ -5716,6 +7487,26 @@ "node": ">=8.0" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/ts-api-utils": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", @@ -5916,6 +7707,149 @@ "dev": true, "license": "MIT" }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-4.0.0.tgz", + "integrity": "sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unrs-resolver": { "version": "1.12.2", "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", @@ -5995,6 +7929,72 @@ "punycode": "^2.1.0" } }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-matter": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vfile-matter/-/vfile-matter-5.0.1.tgz", + "integrity": "sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw==", + "license": "MIT", + "dependencies": { + "vfile": "^6.0.0", + "yaml": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -6117,6 +8117,21 @@ "dev": true, "license": "ISC" }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -6152,6 +8167,16 @@ "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } } } diff --git a/stemformulas-next/package.json b/stemformulas-next/package.json index fc5777e6..016b3aad 100644 --- a/stemformulas-next/package.json +++ b/stemformulas-next/package.json @@ -3,15 +3,18 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "next dev -p 8501", "build": "next build", "start": "next start", "lint": "eslint" }, "dependencies": { "next": "16.2.12", + "next-mdx-remote": "^6.0.0", "react": "19.2.4", - "react-dom": "19.2.4" + "react-dom": "19.2.4", + "rehype-katex": "^7.0.1", + "remark-math": "^6.0.0" }, "devDependencies": { "@types/node": "^20", diff --git a/stemformulas-next/src/app/formulas/[slug]/layout.tsx b/stemformulas-next/src/app/formulas/[slug]/layout.tsx new file mode 100644 index 00000000..a3e5f7c5 --- /dev/null +++ b/stemformulas-next/src/app/formulas/[slug]/layout.tsx @@ -0,0 +1,7 @@ +export default function FormulaLayout({ + children, +}: { + children: React.ReactNode; +}) { + return children; +} \ No newline at end of file diff --git a/stemformulas-next/src/app/formulas/[slug]/page.module.css b/stemformulas-next/src/app/formulas/[slug]/page.module.css new file mode 100644 index 00000000..b30f6203 --- /dev/null +++ b/stemformulas-next/src/app/formulas/[slug]/page.module.css @@ -0,0 +1,84 @@ +.articleHeader { + max-width: 65ch; + margin-bottom: 0; +} + +.articleLayout { + display: flex; + flex-direction: column; + max-width: 100%; + margin-top: 0; +} + +@media (min-width: 1024px) { + .articleLayout { + flex-direction: row; + } +} + +.tocSidebar { + padding: 0; +} + +@media (min-width: 1024px) { + .tocSidebar { + order: 999; + max-width: 20rem; + padding-left: 2rem; + } +} + +.tocSticky { + position: sticky; + top: 2.5rem; + padding-right: 1.25rem; +} + +.tocDetails { + margin-left: -1.25rem; + margin-top: 0; + overflow: hidden; + border-radius: 0.5rem; + padding-left: 1.25rem; +} + +.tocSummary { + display: block; + cursor: pointer; + background: var(--color-neutral-100); + padding: 0.25rem 1.25rem; + font-size: 1.125rem; + font-weight: 600; + color: var(--color-neutral-800); + margin-left: -1.25rem; +} + +@media (min-width: 1024px) { + .tocSummary { + display: none; + } +} + +.tocContent { + border-left: 1px dotted var(--color-neutral-300); + padding: 0.5rem 1.25rem; + margin-left: -1.25rem; +} + +.contentArea { + min-width: 0; + min-height: 0; + max-width: 65ch; + flex-grow: 1; +} + +.tags { + margin: 0.5rem 0; + font-size: 0.75rem; + color: var(--color-neutral-500); +} + +.articleFooter { + padding-top: 2rem; + max-width: 65ch; +} diff --git a/stemformulas-next/src/app/formulas/[slug]/page.tsx b/stemformulas-next/src/app/formulas/[slug]/page.tsx new file mode 100644 index 00000000..35f0f343 --- /dev/null +++ b/stemformulas-next/src/app/formulas/[slug]/page.tsx @@ -0,0 +1,116 @@ +import { notFound } from "next/navigation"; +import fs from "fs"; +import path from "path"; +import { compileMDX } from "next-mdx-remote/rsc"; +import remarkMath from "remark-math"; +import rehypeKatex from "rehype-katex"; +import Link from "next/link"; +import styles from "./page.module.css"; + +async function getFormula(slug: string) { + const filePath = path.join( + process.cwd(), + "src/content/formulas", + `${slug}.mdx` + ); + + if (!fs.existsSync(filePath)) return null; + + const source = fs.readFileSync(filePath, "utf-8"); + const contentDir = path.join(process.cwd(), "src/content/formulas"); + + function resolveImage(src: string | undefined) { + if (!src || src.startsWith("http")) return src; + const imgPath = path.join(contentDir, src); + if (!fs.existsSync(imgPath)) return src; + const buf = fs.readFileSync(imgPath); + const ext = path.extname(src).slice(1) || "png"; + return `data:image/${ext};base64,${buf.toString("base64")}`; + } + + const { content, frontmatter } = await compileMDX<{ + title: string; + description: string; + latex: string; + tags: string[]; + }>({ + source, + options: { + parseFrontmatter: true, + mdxOptions: { + remarkPlugins: [remarkMath], + rehypePlugins: [rehypeKatex], + }, + }, + components: { + img: ({ src, alt, ...rest }: React.ImgHTMLAttributes) => ( + // eslint-disable-next-line @next/next/no-img-element + {alt + ), + }, + }); + + return { content, frontmatter }; +} + +export async function generateStaticParams() { + const formulasDir = path.join(process.cwd(), "src/content/formulas"); + const files = fs.readdirSync(formulasDir); + + return files + .filter((file) => file.endsWith(".mdx")) + .map((file) => ({ + slug: file.replace(".mdx", ""), + })); +} + +export default async function FormulaPage({ + params, +}: { + params: Promise<{ slug: string }>; +}) { + const { slug } = await params; + const formula = await getFormula(slug); + + if (!formula) notFound(); + + return ( +
+
+

{formula.frontmatter.title}

+ {formula.frontmatter.tags && formula.frontmatter.tags.length > 0 && ( +
+ {formula.frontmatter.tags.map((tag) => ( + + {tag} + + ))} +
+ )} +
+ +
+
+
+
+ + Table of Contents + +
+ {/* TOC will be populated later */} +
+
+
+
+ +
+ {formula.content} +
+
+ +
+ {/* Prev/next navigation will go here */} +
+
+ ); +} diff --git a/stemformulas-next/src/app/globals.css b/stemformulas-next/src/app/globals.css index 4c18fb3b..460ea211 100644 --- a/stemformulas-next/src/app/globals.css +++ b/stemformulas-next/src/app/globals.css @@ -1,40 +1,42 @@ :root { - --background: #ffffff; - --foreground: #171717; -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } + --color-neutral-50: #f9fafb; + --color-neutral-100: #f3f4f6; + --color-neutral-200: #e5e7eb; + --color-neutral-300: #d1d5db; + --color-neutral-400: #9ca3af; + --color-neutral-500: #6b7280; + --color-neutral-600: #4b5563; + --color-neutral-700: #374151; + --color-neutral-800: #1f2937; + --color-neutral-900: #111827; + --color-primary-500: #64748b; + --color-primary-600: #475569; + --color-primary-700: #334155; } html { + scroll-behavior: smooth; height: 100%; } -html, -body { - max-width: 100vw; - overflow-x: hidden; -} - body { min-height: 100%; display: flex; flex-direction: column; - color: var(--foreground); - background: var(--background); - font-family: Arial, Helvetica, sans-serif; + margin: 0 auto; + padding: 0 1.5rem; + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", + Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; + font-size: 1.125rem; + line-height: 1.75rem; + color: var(--color-neutral-900); + background: #fff; + max-width: 80rem; -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } * { box-sizing: border-box; - padding: 0; - margin: 0; } a { @@ -42,8 +44,323 @@ a { text-decoration: none; } -@media (prefers-color-scheme: dark) { - html { - color-scheme: dark; +/* ── Header ── */ +.site-header { + padding: 1.5rem 0; + font-weight: 600; +} + +@media (min-width: 640px) { + .site-header { + padding: 2.5rem 0; + } +} + +.site-header nav { + display: flex; + align-items: flex-start; + justify-content: space-between; +} + +@media (min-width: 640px) { + .site-header nav { + align-items: center; + } +} + +.site-header .brand { + display: flex; + flex-direction: row; + align-items: center; +} + +.site-header .brand a { + margin-right: 0.5rem; +} + +.site-header .brand img { + width: 32px; + height: 32px; + max-height: 10rem; + max-width: 10rem; + object-fit: scale-down; + object-position: left; +} + +.site-header .brand .site-title { + text-decoration-color: var(--color-primary-500); +} + +.site-header .brand .site-title:hover { + text-decoration: underline; + text-decoration-thickness: 2px; + text-underline-offset: 2px; +} + +.site-header .nav-links { + list-style: none; + display: flex; + flex-direction: column; + text-align: right; + padding: 0; + margin: 0; +} + +@media (min-width: 640px) { + .site-header .nav-links { + flex-direction: row; + } +} + +.site-header .nav-links li { + margin-bottom: 0.25rem; +} + +@media (min-width: 640px) { + .site-header .nav-links li { + margin-bottom: 0; + margin-right: 1.75rem; + } + .site-header .nav-links li:last-child { + margin-right: 0.125rem; + } +} + +.site-header .nav-links a { + text-decoration-color: var(--color-primary-500); +} + +.site-header .nav-links a:hover { + text-decoration: underline; + text-decoration-thickness: 2px; + text-underline-offset: 2px; +} + +/* ── Search button in header ── */ +.search-toggle { + background: none; + border: none; + cursor: pointer; + font-size: 1rem; + color: inherit; + padding: 0; +} + +.search-toggle:hover { + color: var(--color-primary-600); +} + +/* ── Main content area ── */ +.main-content { + flex-grow: 1; +} + +/* ── Footer ── */ +.site-footer { + padding: 2.5rem 0; +} + +/* ── Prose (article content) ── */ +.prose { + max-width: 65ch; +} + +.prose h1 { + font-size: 2.25rem; + font-weight: 800; + color: var(--color-neutral-900); + margin-top: 0; +} + +.prose h2 { + font-size: 1.5rem; + font-weight: 700; + margin-top: 2rem; + margin-bottom: 0.75rem; +} + +.prose p { + margin-bottom: 1rem; +} + +.prose ul, +.prose ol { + padding-left: 1.5rem; + margin-bottom: 1rem; +} + +.prose ul { + list-style-type: disc; +} + +.prose ol { + list-style-type: decimal; +} + +.prose li { + margin-bottom: 0.25rem; +} + +.prose a { + color: var(--color-primary-600); + text-decoration: underline; +} + +.prose a:hover { + color: var(--color-neutral-900); +} + +.prose img { + max-width: 100%; + height: auto; + border-radius: 0.375rem; + margin: 0 auto; + display: block; +} + +.prose img[alt="diagram"] { + width: 400px; +} + +.prose blockquote { + border-left: 4px solid var(--color-neutral-300); + padding-left: 1rem; + color: var(--color-neutral-500); + margin: 1rem 0; +} + +.prose code { + font-size: 0.875em; + background: var(--color-neutral-100); + padding: 0.125rem 0.375rem; + border-radius: 0.25rem; +} + +.prose pre { + background: var(--color-neutral-800); + color: var(--color-neutral-100); + padding: 1rem; + border-radius: 0.375rem; + overflow-x: auto; + margin-bottom: 1rem; +} + +.prose pre code { + background: none; + padding: 0; + color: inherit; +} + +/* ── Tags ── */ +.tag { + display: inline-block; + font-size: 0.75rem; + line-height: 1rem; + color: var(--color-neutral-500); + border: 1px solid var(--color-neutral-200); + border-radius: 0.375rem; + padding: 0.0625rem 0.5rem; + margin-right: 0.25rem; +} + +.tag:hover { + border-color: #000; + color: var(--color-primary-700); +} + +/* ── Table of Contents ── */ +.toc nav ul { + list-style: none; + padding: 0; +} + +.toc nav li { + margin-bottom: 0.25rem; +} + +.toc nav a { + font-size: 0.875rem; + color: var(--color-neutral-500); +} + +.toc nav a:hover { + color: var(--color-primary-600); +} + +/* ── Prev/Next links ── */ +.article-nav { + padding-top: 2rem; +} + +.article-nav hr { + border: none; + border-top: 1px dotted var(--color-neutral-300); +} + +.article-nav .nav-links-row { + display: flex; + justify-content: space-between; + padding-top: 0.75rem; +} + +.article-nav .nav-link { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.article-nav .nav-link:hover span:last-child { + text-decoration: underline; + text-decoration-color: var(--color-primary-500); +} + +.article-nav .nav-arrow { + color: var(--color-neutral-700); + transition: transform 0.2s; +} + +.article-nav .nav-link:hover .nav-arrow { + color: var(--color-primary-600); +} + +.article-nav .nav-link:hover .nav-arrow-prev { + transform: translateX(-2px); +} + +.article-nav .nav-link:hover .nav-arrow-next { + transform: translateX(2px); +} + +/* ── KaTeX ── */ +.katex-html { + font-size: 1.2em; + color: #000; +} + +.katex-display > .katex { + padding-left: 0.5em !important; + text-align: left; +} + +.katex { + padding-left: 0 !important; +} + +/* formula grid */ +.grid-container { + display: grid; + grid-template-columns: 1fr; + gap: 15px; +} + +@media (min-width: 640px) { + .grid-container { + grid-template-columns: 1fr 1fr; + } +} + +@media (min-width: 1024px) { + .grid-container { + grid-template-columns: 1fr 1fr 1fr; } } diff --git a/stemformulas-next/src/app/layout.tsx b/stemformulas-next/src/app/layout.tsx index 1da6a2fa..5c85419a 100644 --- a/stemformulas-next/src/app/layout.tsx +++ b/stemformulas-next/src/app/layout.tsx @@ -1,20 +1,12 @@ import type { Metadata } from "next"; -import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; - -const geistSans = Geist({ - variable: "--font-geist-sans", - subsets: ["latin"], -}); - -const geistMono = Geist_Mono({ - variable: "--font-geist-mono", - subsets: ["latin"], -}); +import "katex/dist/katex.min.css"; +import Link from "next/link"; export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", + title: "stemformulas", + description: + "Stemformulas is the eventual home of every STEM formula in the world.", }; export default function RootLayout({ @@ -23,8 +15,43 @@ export default function RootLayout({ children: React.ReactNode; }>) { return ( - - {children} + + +
+ +
+ +
{children}
+ +
+
+
+
+
+ ); } diff --git a/stemformulas-next/src/content/formulas/amperes-law.mdx b/stemformulas-next/src/content/formulas/amperes-law.mdx new file mode 100644 index 00000000..42a86a24 --- /dev/null +++ b/stemformulas-next/src/content/formulas/amperes-law.mdx @@ -0,0 +1,34 @@ +--- +title: "Ampere's Law" +description: "Ampere's law is a formula that describes the magnetic field produced by a current-carrying wire." +summary: "Ampere's law is a formula that describes the magnetic field produced by a current-carrying wire." +tags: ["physics", "electromagnetism", "Maxwell's equations"] +date: 2022-12-28 +latex: \oint \vec{B} \cdot d\vec{l} = \mu_0 I +--- + +$$ \oint \vec{B} \cdot d\vec{l} = \mu_0 I $$ + +Where +* The left side is a line integral of the magnetic field $\vec{B}$ over a closed loop $\vec{l}$, and +* $\mu_0$ is the [permeability of free space](https://en.wikipedia.org/wiki/Vacuum_permeability), and +* $I$ is the current enclosed by the loop. + +Ampere's law is a formula that describes the magnetic field produced by a current-carrying wire. It says that the magneitc field created by an electric current is proportional to the magnitude of the current. + +## With displacement current + +Ampere's law has a more general form that includes displacement current. The displacement current is proportional to the rate of change of the electric flux. [This site](http://teacher.pas.rochester.edu/phy122/lecture_notes/Chapter35/chapter35.html) has a good explanation of why this modification is needed. The modified form is: + + +$$ \oint \vec{B} \cdot d\vec{l} = \mu_0 I + \mu_0 \epsilon_0 \frac{d\vec{\phi_E}}{dt} $$ + +Where, in addition to the above definitions, +* $\epsilon_0$ is the [permittivity of free space](https://en.wikipedia.org/wiki/Vacuum_permittivity), and +* $\vec{\phi_E}$ is the electric flux intercepted by the surface spanned by the integration path of the magnetic field. + + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Amp%C3%A8re%27s_circuital_law) +- [Byjus](https://byjus.com/physics/amperes-law/) +- [Rochester Edu](http://teacher.pas.rochester.edu/phy122/lecture_notes/Chapter35/chapter35.html) diff --git a/stemformulas-next/src/content/formulas/arithmetic-gradient.mdx b/stemformulas-next/src/content/formulas/arithmetic-gradient.mdx new file mode 100644 index 00000000..ee30dfec --- /dev/null +++ b/stemformulas-next/src/content/formulas/arithmetic-gradient.mdx @@ -0,0 +1,34 @@ +--- +title: "Arithmetic Gradients" +description: "Formulas for calculating the worth of an arithmetic gradient of cash" +summary: "Formulas for calculating the worth of an arithmetic gradient of cash" +tags: ["math", "finance"] +date: 2023-06-26 +latex: \scriptsize P = A \left[\frac{(1+i)^n-1}{i(1+i)^n}\right] + G \left[\frac{(1+i)^n-in-1}{i^2(1+i)^n}\right] +--- + +## Present Worth of an Arithmetic Gradient + +For an arithmetic gradient of costs or benefits where $\small A$ is received in the first period, $\small A + G$ in the second period, $\small A + 2G$ in the third period, and so on, the present worth $\small P$ is given by: + +$$P = A \left[\frac{(1+i)^n-1}{i(1+i)^n}\right] + G \left[\frac{(1+i)^n-in-1}{i^2(1+i)^n}\right]$$ + +Where + +* $\small P$ is the present worth, +* $\small A$ is the constant amount being added to in the gradient, +* $\small G$ is the gradient or the constant increase per period, +* $\small i$ is the interest rate, and +* $\small n$ is the number of periods. + +Note that this is just the sum of A being converted to P and G being converted to P using their respective factors. +## Uniform Series Worth of an Arithmetic Gradient + +It is also possible to convert the linearly increasing series of payments (G) to a uniform series of payments (A) using the following formula: + +$$ A = G \cdot (A/G, i ,n) = G \left[\frac{1}{i} - \frac{n}{(1+i)^n - 1}\right]$$ + + + +## Sources +- [Eastern Mediterranean University (PDF)](https://staff.emu.edu.tr/gokhanizbirak/Documents/courses/ieng323-mane323/assignments-homeworks/Formulas-Engineering-Economy.pdf) diff --git a/stemformulas-next/src/content/formulas/bayes-theorem.mdx b/stemformulas-next/src/content/formulas/bayes-theorem.mdx new file mode 100644 index 00000000..c66cc754 --- /dev/null +++ b/stemformulas-next/src/content/formulas/bayes-theorem.mdx @@ -0,0 +1,38 @@ +--- +title: Bayes' Theorem +description: "The formula for Bayes' Theorem." +summary: "The formula for Bayes' Theorem." +tags: ["mathematics", "probability", "statistics"] +date: 2023-07-16 +latex: "P(A|B) = \\frac{P(B|A)P(A)}{P(B)}" +--- + +Bayes' Theorem is given by the formula: + +$$ P(A|B) = \frac{P(B|A)P(A)}{P(B)} $$ + +Where + +* $\small P(A|B)$ is the probability of event $A$ given event $B$, +* $\small P(B|A)$ is the probability of event $B$ given event $A$, +* $\small P(A)$ is the probability of event $A$, and +* $\small P(B)$ is the probability of event $B$. + +## Expanded form + +The denominator can also be expanded using the law of total probability to give: + +$$ P(A|B) = \frac{P(B|A)P(A)}{P(B|A)P(A) + P(B|\neg A)P(\neg A)} $$ + +Where $\small \neg A$ is the complement of $\small A$. + +## Intuition + +This video by 3Blue1Brown was the single biggest help in my understanding of Bayes' Theorem, you should definitely watch it if you're struggling to understand it: + +{{< youtube id="HZGCoVF3YvM" >}} + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Bayes%27_theorem) +- [Math is Fun](https://www.mathsisfun.com/data/bayes-theorem.html) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/bernoullis-principle.mdx b/stemformulas-next/src/content/formulas/bernoullis-principle.mdx new file mode 100644 index 00000000..0bd99499 --- /dev/null +++ b/stemformulas-next/src/content/formulas/bernoullis-principle.mdx @@ -0,0 +1,49 @@ +--- +title: Bernoulli's Principle +description: "The relation between various sources of pressure in a fluid." +summary: "The relation between various sources of pressure in a fluid." +tags: ["physics", "fluid mechanics"] +date: 2024-02-07 +latex: P + \frac{1}{2} \rho v^2 + \rho g h = \text{const} +--- + +The formula for Bernoulli's Principle (also known as Bernoulli's Equation) states that for two points along the streamline of an incompressible, inviscid, steady-flow fluid, the sum of the pressure, kinetic energy per unit volume, and potential energy per unit volume remains constant. It has the following forms: + +## Pressure Form + +$$ P_1 + \frac{1}{2} \rho v_1^2 + \rho g h_1 = P_2 + \frac{1}{2} \rho v_2^2 + \rho g h_2 $$ + +Where + +* $ \small \small P_1 $ and $ \small \small P_2 $ are the pressures at points 1 and 2, +* $ \small \small \rho $ is the density of the fluid, +* $ \small \small v_1 $ and $ \small \small v_2 $ are the velocities at points 1 and 2, +* $ \small \small g $ is the acceleration due to gravity, and +* $ \small \small h_1 $ and $ \small \small h_2 $ are the heights at points 1 and 2. + +It can be also be written by stating that the sum of the quantities remain constant: + +$$ P + \frac{1}{2} \rho v^2 + \rho g h = \text{const} $$ + + +## Energy Form + +$$ \frac{P}{\rho} + \frac{1}{2} v^2 + g h = \text{const} $$ + +$$ \frac{P_1}{\rho} + \frac{1}{2} v_1^2 + g h_1 = \frac{P_2}{\rho} + \frac{1}{2} v_2^2 + g h_2 $$ + +## Head Form + +$$ \frac{P}{\gamma} + \frac{v^2}{2g} + h = \text{const} $$ + +$$ \frac{P_1}{\gamma} + \frac{v_1^2}{2g} + h_1 = \frac{P_2}{\gamma} + \frac{v_2^2}{2g} + h_2 $$ + +Where + +* $ \small \small \gamma $ is the [specific weight](/formulas/specific-weight/) of the fluid. + + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Bernoulli%27s_principle) +- [Khan Academy](https://www.khanacademy.org/science/physics/fluids/fluid-dynamics/a/what-is-bernoullis-equation) diff --git a/stemformulas-next/src/content/formulas/binets-formula.mdx b/stemformulas-next/src/content/formulas/binets-formula.mdx new file mode 100644 index 00000000..aa9551c8 --- /dev/null +++ b/stemformulas-next/src/content/formulas/binets-formula.mdx @@ -0,0 +1,20 @@ +--- +title: "Binet's Formula" +description: "The closed form formula for calculating the n-th Fibonacci number." +summary: "The closed form formula for calculating the n-th Fibonacci number." +tags: ["math"] +date: 2025-01-06 +latex: "F_n = \\frac{\\left(\\frac{1+\\sqrt{5}}{2} \\right)^n - \\left(\\frac{1-\\sqrt{5}}{2} \\right)^n}{\\sqrt{5}}" +--- + +Binet's formula allows you to calculate the n-th Fibonacci number, $ \small F_n $, with a closed form solution. It is as follows: + +$$ F_n = \frac{\left(\frac{1+\sqrt{5}}{2} \right)^n - \left(\frac{1-\sqrt{5}}{2} \right)^n}{\sqrt{5}} $$ + +Where + +* $ \small n $ is the index of the Fibonacci number you want to calculate. + +## Sources + +- [Art of Problem Solving](https://artofproblemsolving.com/wiki/index.php/Binet%27s_Formula) diff --git a/stemformulas-next/src/content/formulas/biot-savart-law.mdx b/stemformulas-next/src/content/formulas/biot-savart-law.mdx new file mode 100644 index 00000000..e7b09b18 --- /dev/null +++ b/stemformulas-next/src/content/formulas/biot-savart-law.mdx @@ -0,0 +1,29 @@ +--- +title: Biot-Savart Law +description: "The Biot-Savart law describes the magnetic field produced by a steady current." +summary: "The Biot-Savart law describes the magnetic field produced by a steady current." +tags: ["physics", "electromagnetism"] +date: 2024-04-19 +latex: "B(r) = \\frac{\\mu_0}{4\\pi} \\int \\frac{I d\\ell \\times r'}{|r'|^3}" +--- + +The Biot-Savart Law describes the magnetic field generated by a constant electric current in magneto-statics. It is as follows: + +$$ B(r) = \frac{\mu_0}{4\pi} \int \frac{I d\ell \times r'}{|r'|^3} $$ + +Where + +- $ \small B(r) $ is the magnetic field at point $ \small r $, +- $ \small \mu_0 $ is the permeability of free space, +- $ \small I $ is the current, +- $ \small d\ell $ is an infinitesimal current element, +- $ \small r' = r - \ell $ is the displacement vector from the current element to the observation point, and +- $ \small |r'| $ is the magnitude of $ \small r' $. + + +In other words, to actually use the law, you choose a point r where you want to know the magnetic field, you mathematically describe the geometry of the current-carrying wire such that you know the magnitude and direction of the vector between the current element and the point r, and then you integrate over the entire wire's elements to get the total magnetic field at point r. + + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Biot%E2%80%93Savart_law) diff --git a/stemformulas-next/src/content/formulas/boltzmann-entropy.mdx b/stemformulas-next/src/content/formulas/boltzmann-entropy.mdx new file mode 100644 index 00000000..dbe5a64b --- /dev/null +++ b/stemformulas-next/src/content/formulas/boltzmann-entropy.mdx @@ -0,0 +1,23 @@ +--- +title: Boltzmann Entropy +description: "The Boltzmann Entropy formula." +summary: "The Boltzmann Entropy formula." +tags: ["physics", "thermodynamics"] +date: 2023-07-23 +latex: "S=k_B\\ln\\Omega" +--- + +The Boltzmann Entropy formula is: + +$$ S = k_B \ln \Omega $$ + +Where + +* $ \small S $ is the Boltzmann Entropy, +* $ \small k_B $ is Boltzmann's constant, and +* $ \small \Omega $ is the number of microstates. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Boltzmann%27s_entropy_formula) +- [Chem LibreTexts](https://chem.libretexts.org/Courses/Western_Washington_University/Biophysical_Chemistry_(Smirnov_and_McCarty)/01%3A_Biochemical_Thermodynamics/1.05%3A_The_Boltzmann_Distribution_and_the_Statistical_Definition_of_Entropy) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/canonical-partition-function.mdx b/stemformulas-next/src/content/formulas/canonical-partition-function.mdx new file mode 100644 index 00000000..185d7791 --- /dev/null +++ b/stemformulas-next/src/content/formulas/canonical-partition-function.mdx @@ -0,0 +1,63 @@ +--- +title: Canonical Partition Function +description: "The expression describing a canonical ensemble in statistical mechanics." +summary: "The expression describing a canonical ensemble in statistical mechanics." +tags: ["physics", "statistical mechanics"] +date: 2024-03-14 +latex: Z = \sum_{i} e^{-\beta E_i} +--- + +The canonical partition function, denoted by \$ \small Z\ $, is a fundamental concept in statistical mechanics. It is a useful tool that can tell us the properties of the system, such as the probability that the system is in a particular state, the average energy of the system, and the heat capacity of the system. + +For a classical, discrete canonical ensemble at a temperature \$ \small T\ $, the canonical partition function is given by: + +## Partition function + +$$ Z = \sum_{i} e^{-\beta E_i} $$ + +Where: + +- \$ \small Z\ $ is the canonical partition function, +- \$ \small E_i\ $ is the energy of the \$ \small i\ $-th microstate, +- The sum is taken over all possible microstates of the system, and +- \$ \small \beta = \frac{1}{k_B T}\ $ is the thermodynamic beta with \$ \small k_B\ $ being the Boltzmann constant and \$ \small T\ $ being the temperature. + + +## Probability of a state + +The probability of the system having energy E_i is given by: + +$$ P(E_i) = \frac{e^{-\beta E_i}}{Z} $$ + +Where: +- \$ \small P(E_i)\ $ is the probability of the system being in the \$ \small i\ $-th microstate, and +- \$ \small Z\ $ is the canonical partition function described above. + +## Other quantities + +A few useful properties can be derived from the partition function. For example, the average energy of the system is given by: + +$$ \langle E \rangle =\frac{1}{Z}\frac{\partial Z}{\partial \beta} = -\frac{\partial \ln Z}{\partial \beta} = k_B T^2 \frac{\partial \ln Z}{\partial T}$$ + +Next, the expectation value of the energy squared is given by: + +$$ \langle E^2 \rangle = \frac{1}{Z}\frac{\partial^2 Z}{\partial \beta^2} $$ + +Combining these two, we can get the mean square fluctiation of the energy: + +$$ \langle \Delta E^2 \rangle = \langle E^2 \rangle - \langle E \rangle^2 = - \frac{\partial \langle E \rangle}{\partial \beta} $$ +k +Finally, the heat capacity of the system is given by: + +$$ C_v(T) = \frac{1}{k_B T^2} \langle \Delta E^2 \rangle$$ + + + + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Partition_function_(statistical_mechanics)) +- My professor's slides + +## Examples + diff --git a/stemformulas-next/src/content/formulas/capacitance.mdx b/stemformulas-next/src/content/formulas/capacitance.mdx new file mode 100644 index 00000000..fad1a31a --- /dev/null +++ b/stemformulas-next/src/content/formulas/capacitance.mdx @@ -0,0 +1,31 @@ +--- +title: Capacitance +description: "The capacitance of a parallel plate capacitor" +summary: "The capacitance of a parallel plate capacitor" +tags: ["electronics", "electrical engineering"] +date: 2023-09-06 +latex: "C = \\frac{\\epsilon A}{d}" +--- + +The capacitance of a parallel-plate capacitor is given by: + +$$ C = \frac{\epsilon A}{d} $$ + +Where + +- $ \small C $ is the capacitance of the capacitor, measured in farads (F), +- $ \small \epsilon $ is the permittivity of the dielectric between the plates, in farads per meter (F/m), +- $ \small A $ is the area of the plates in square meters (m2), and +- $ \small d $ is the distance between the plates in meters. + + +## Sources + +- [Electronics Notes](https://www.electronics-notes.com/articles/basic_concepts/capacitance/capacitor-formulas-equations.php) +- [Wikipedia](https://en.wikipedia.org/wiki/Capacitor) + +## See also + +- [Capacitor Charge](/formulas/capacitor-charge/) +- [Capacitor Current](/formulas/capacitor-current/) +- [Capacitor Energy](/formulas/capacitor-energy/) diff --git a/stemformulas-next/src/content/formulas/capacitor-charge.mdx b/stemformulas-next/src/content/formulas/capacitor-charge.mdx new file mode 100644 index 00000000..f0f66225 --- /dev/null +++ b/stemformulas-next/src/content/formulas/capacitor-charge.mdx @@ -0,0 +1,30 @@ +--- +title: Capacitor Charge +description: "The relationship between the voltage across a capacitor and the charge stored on each conductor." +summary: "The relationship between the voltage across a capacitor and the charge stored on each conductor." +tags: ["electronics", "electrical engineering"] +date: 2023-09-06 +latex: "V = \\frac{Q}{C}" +--- + +The relationship between the voltage across a capacitor and the charge stored on each conductor is given by: + +$$ V = \frac{Q}{C} $$ + +Where + +- $ \small V $ represents the voltage across the capacitor, +- $ \small Q $ represents the charge stored on the capacitor, and +- $ \small C $ is the capacitance of the capacitor, usually measured in farads (F). + + +## Sources + +- [Electronics Notes](https://www.electronics-notes.com/articles/basic_concepts/capacitance/capacitor-formulas-equations.php) +- [Wikipedia](https://en.wikipedia.org/wiki/Capacitor) + +## See also + +- [Capacitance](/formulas/capacitance/) +- [Capacitor Current](/formulas/capacitor-current/) +- [Capacitor Energy](/formulas/capacitor-energy/) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/capacitor-current.mdx b/stemformulas-next/src/content/formulas/capacitor-current.mdx new file mode 100644 index 00000000..99b0a0d4 --- /dev/null +++ b/stemformulas-next/src/content/formulas/capacitor-current.mdx @@ -0,0 +1,30 @@ +--- +title: Capacitor Current +description: "The relationship between the current through a capacitor and the rate of change of voltage across the capacitor." +summary: "The relationship between the current through a capacitor and the rate of change of voltage across the capacitor." +tags: ["electronics", "electrical engineering"] +date: 2023-09-06 +latex: "I = C \\frac{dV}{dt}" +--- + +The current through a capacitor is given by: + +$$ I = C \frac{dV}{dt} $$ + +Where + +- $ \small I $ is the current through the capacitor in amperes (A), +- $ \small C $ is the capacitance of the capacitor in farads (F), and +- $ \small \frac{dV}{dt} $ is the rate of change of voltage across the capacitor with respect to time (V/s). + + +## Sources + +- [Electronics Notes](https://www.electronics-notes.com/articles/basic_concepts/capacitance/capacitor-formulas-equations.php) +- [Wikipedia](https://en.wikipedia.org/wiki/Capacitor) + +## See also + +- [Capacitance](/formulas/capacitance/) +- [Capacitor Charge](/formulas/capacitor-charge/) +- [Capacitor Energy](/formulas/capacitor-energy/) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/capacitor-energy.mdx b/stemformulas-next/src/content/formulas/capacitor-energy.mdx new file mode 100644 index 00000000..8c22a59f --- /dev/null +++ b/stemformulas-next/src/content/formulas/capacitor-energy.mdx @@ -0,0 +1,29 @@ +--- +title: Capacitor Energy +description: "The energy stored in a capacitor." +summary: "The energy stored in a capacitor." +tags: ["electronics", "electrical engineering"] +date: 2023-09-06 +latex: "E = \\frac{1}{2} C V^2" +--- + +The energy stored in a capacitor is given by: + +$$ E = \frac{1}{2} C V^2 $$ + +Where + +- $ \small E $ represents the energy stored in the capacitor, measured in joules (J), +- $ \small C $ is the capacitance of the capacitor, measured in farads (F), and +- $ \small V $ represents the voltage across the capacitor, in volts (V). + +## Sources + +- [Electronics Notes](https://www.electronics-notes.com/articles/basic_concepts/capacitance/capacitor-formulas-equations.php) +- [Wikipedia](https://en.wikipedia.org/wiki/Capacitor) + +## See also + +- [Capacitance](/formulas/capacitance/) +- [Capacitor Charge](/formulas/capacitor-charge/) +- [Capacitor Current](/formulas/capacitor-current/) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/cauchys-integral-theorem.mdx b/stemformulas-next/src/content/formulas/cauchys-integral-theorem.mdx new file mode 100644 index 00000000..63d2f643 --- /dev/null +++ b/stemformulas-next/src/content/formulas/cauchys-integral-theorem.mdx @@ -0,0 +1,19 @@ +--- +title: "Cauchy's Integral Theorem" +description: "A theorem used for line integrals of complex functions." +summary: "A theorem used for line integrals of complex functions." +tags: ["math", "complex analysis", "integration"] +date: 2022-12-24 +latex: \oint_C f(z)dz = 0 +--- + +$$ \oint_C f(z)dz = 0 $$ + +Where +* $f(z)$ is a [holomorphic](https://en.wikipedia.org/wiki/Holomorphic_function) complex function, and +* $C$ is a [simple closed curve](https://en.wikipedia.org/wiki/Simple_closed_curve) in the complex plane. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Cauchy%27s_integral_theorem) +- [Wolfram MathWorld](https://mathworld.wolfram.com/CauchyIntegralTheorem.html) + diff --git a/stemformulas-next/src/content/formulas/conditional-probability.mdx b/stemformulas-next/src/content/formulas/conditional-probability.mdx new file mode 100644 index 00000000..308fd458 --- /dev/null +++ b/stemformulas-next/src/content/formulas/conditional-probability.mdx @@ -0,0 +1,23 @@ +--- +title: Conditional Probability +description: "The formula for conditional probability." +summary: "The formula for conditional probability." +tags: ["probability", "statistics"] +date: 2023-07-16 +latex: "P(E|F) = \\frac{P(E \\cap F)}{P(F)}" +--- + +The conditional probability formula is: + +$$ P(E|F) = \frac{P(E \cap F)}{P(F)} $$ + +Where + +* $\small P(E|F)$ is the probability of event $E$ given event $F$, +* $\small P(E \cap F)$ (the intersection of the two events) is the probability of both events $E$ and $F$ occurring, and +* $\small P(F)$ is the probability of event $F$. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Conditional_probability) +- [Yale](http://www.stat.yale.edu/Courses/1997-98/101/condprob.htm) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/convolution.mdx b/stemformulas-next/src/content/formulas/convolution.mdx new file mode 100644 index 00000000..b6478b2e --- /dev/null +++ b/stemformulas-next/src/content/formulas/convolution.mdx @@ -0,0 +1,19 @@ +--- +title: Convolution +description: "Formula for the convolution of two functions." +summary: "Formula for the convolution of two functions." +tags: ["math", "integration", "calculus"] +date: 2023-01-18 +latex: (f*g)(t)=\int_{-\infty}^{\infty} f(\tau)g(t-\tau)d\tau +--- + +The formula for the convolution of two functions $\small f$ and $\small g$ is: + +$$ (f*g)(t)=\int_{-\infty}^{\infty} f(\tau)g(t-\tau)d\tau$$ + +Where +* $\tau$ is a dummy variable that is used in the integral only. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Convolution) +- [Wolfram Mathworld](https://mathworld.wolfram.com/Convolution.html) diff --git a/stemformulas-next/src/content/formulas/cosine-law.mdx b/stemformulas-next/src/content/formulas/cosine-law.mdx new file mode 100644 index 00000000..9acb9263 --- /dev/null +++ b/stemformulas-next/src/content/formulas/cosine-law.mdx @@ -0,0 +1,22 @@ +--- +title: Cosine Law +description: "The formula relating the sides and angles of every triangle." +summary: "The formula relating the sides and angles of every triangle." +tags: ["math", "trigonometry", "cos"] +date: 2022-12-26 +latex: c^2 = a^2 + b^2 - 2 \cdot a \cdot b \cdot \cos(\theta) +--- + +For any triangle: + +![diagram](cosine-law.png) + +The following is true: + +$$ c^2 = a^2 + b^2 - 2 \cdot a \cdot b \cdot \cos(\theta) $$ + +Note that the naming of the sides and angle is arbitrary. The formula is true as long as $\small \theta$ is the angle opposite side c. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Law_of_cosines) +- [Byju's](https://byjus.com/maths/law-of-cosines/) diff --git a/stemformulas-next/src/content/formulas/cosine-law.png b/stemformulas-next/src/content/formulas/cosine-law.png new file mode 100644 index 0000000000000000000000000000000000000000..b15a14365dbd43d7c56f31977d305f42ba6857a1 GIT binary patch literal 21282 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, \neq 1 $ is the common ratio. Note that this expression can be used for $\small r > 1$ unlike the infinite series formula below. + +If $\small r = 1$, then $\small S_n = an$. + +## Infinite Geometric Series +If $\small r$ satisfies $\small 0 < r < 1$, the sum of the infinite series is + +$$S_{\infty} = \sum_{i=0}^{\infty} ar^i = \frac{a}{1-r}$$ + + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Geometric_series) +- [Amsi.org.au](https://amsi.org.au/ESA_Senior_Years/SeniorTopic1/1d/1d_2content_5.html) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/fourier-transform.mdx b/stemformulas-next/src/content/formulas/fourier-transform.mdx new file mode 100644 index 00000000..b19bb2ec --- /dev/null +++ b/stemformulas-next/src/content/formulas/fourier-transform.mdx @@ -0,0 +1,39 @@ +--- +title: Fourier + Inverse Fourier Transform +description: "The Fourier and inverse Fourier transform formulas." +summary: "The Fourier and inverse Fourier transform formulas." +tags: ["math", "signal processing", "optics"] +date: 2023-07-03 +latex: X(\omega) = \int_{-\infty}^{\infty}x(t)e^{-j\omega t}\,dt +--- + +## Fourier Transform +The Fourier transform is used to transform a signal from the time domain to the frequency domain. + +The Fourier transform formula is: + +$$ X(\omega) = \int_{-\infty}^{\infty}x(t)e^{-j\omega t}dt $$ + +Where + +* $ \small X(\omega) $ is the Fourier transform of the function $ \small x(t) $, +* $ \small x(t) $ is the input signal in the time domain, +* $ \small j $ is the imaginary unit, +* $ \small e $ is Euler's number, +* $ \small \omega $ is the angular frequency. + + +## Inverse Fourier Transform +The inverse Fourier transform is used to transform a signal from the frequency domain to the time domain. + +The inverse Fourier transform is: + +$$ x(t) = \frac{1}{2\pi}\int_{-\infty}^{\infty}X(\omega)e^{j\omega t}d\omega $$ + + +Note that there are many conventions for these two transforms. $\small i $ is often used as the imaginary unit, and in spatial contexts, $\small x $ and $\small k $ are often used instead of $\small t $ and $\small \omega $, respectively. + +## Sources + +- [Swarthmore College - LPSA](https://lpsa.swarthmore.edu/Fourier/Xforms/FXformIntro.html) +- [BYJU'S](https://byjus.com/maths/fourier-transform/) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/fundmantal-theorem-of-calculus.mdx b/stemformulas-next/src/content/formulas/fundmantal-theorem-of-calculus.mdx new file mode 100644 index 00000000..6f3aa55d --- /dev/null +++ b/stemformulas-next/src/content/formulas/fundmantal-theorem-of-calculus.mdx @@ -0,0 +1,32 @@ +--- +title: Fundamental Theorem of Calculus +description: Fundamental Theorem of Calculus +summary: Fundamental Theorem of Calculus +tags: ["math", "calculus"] +date: 2022-12-23 +latex: \int_a^b f(x) dx = F(b) - F(a) +--- +$$\int_a^b f(x) dx = F(b) - F(a)$$ + +Where +* $f$ is a continuous function on $[a, b]$, +* $F$ is an antiderivative of $f$, +* $a$ is the lower bound of the integral, and +* $b$ is the upper bound of the integral. + +This theorem, also known as the second fundamental theorem of calculus says that the definite integral of a continuous function on a closed interval is equal to the difference between the value of the antiderivative at the upper bound and the value of the antiderivative at the lower bound. + +See Wolfram MathWorld below for the other two fundamental theorems of calculus. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus) +- [Wolfram MathWorld](https://mathworld.wolfram.com/FundamentalTheoremsofCalculus.html) + +## Example +Due to his terrible posture, Kevin's back is approximately the shape of x^3 on the interval [0, 3]. Given that his chair is the x axis, what is the area between his back and his chair? + +We know that the area between a curve and the x axis is equal to the definite integral of the curve. We also know that the definite integral of a function is equal to the difference between the value of the antiderivative at the upper bound and the value of the antiderivative at the lower bound. So we can plug in the values to get the answer, knowing that the antiderivative of x^3 is x^4/4: + +$$\int_0^3 x^3 dx = F(3) - F(0) = \frac{(3)^4}{4} - 0 = 20.25$$ + + diff --git a/stemformulas-next/src/content/formulas/future-to-net-present-worth.mdx b/stemformulas-next/src/content/formulas/future-to-net-present-worth.mdx new file mode 100644 index 00000000..599be06b --- /dev/null +++ b/stemformulas-next/src/content/formulas/future-to-net-present-worth.mdx @@ -0,0 +1,22 @@ +--- +title: "Present and Future Value" +description: "Formulas for converting between future worth and net present worth" +summary: "Formulas for converting between future worth and net present worth" +tags: ["math", "finance"] +date: 2023-06-24 +latex: F = P(1 + i)^n +--- + +For a sum of money $P$ invested at a compounding interest rate $i$ for $n$ periods, the future value $F$ is given by: + +$$F = P(1 + i)^n$$ + +Where + +* $P$ is the present value, +* $i$ is the interest rate, and +* $n$ is the number of periods + +## Sources +- [Investopedia](https://www.investopedia.com/terms/f/futurevalue.asp) +- [Wikipedia](https://en.wikipedia.org/wiki/Future_value#Compound_interest) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/gauss-law.mdx b/stemformulas-next/src/content/formulas/gauss-law.mdx new file mode 100644 index 00000000..74f68887 --- /dev/null +++ b/stemformulas-next/src/content/formulas/gauss-law.mdx @@ -0,0 +1,31 @@ +--- +title: "Gauss's Law" +description: "Gauss's law is a formula that describes the electric field produced by a charge distribution." +summary: "Gauss's law is a formula that describes the electric field produced by a charge distribution." +tags: ["physics", "electromagnetism", "Maxwell's equations"] +date: 2022-12-28 +latex: \oiint \vec{E} \cdot d\vec{A} = \frac{Q_{enc}}{\epsilon_0} +--- + +$$ \oiint \vec{E} \cdot d\vec{A} = \frac{Q_{enc}}{\epsilon_0} $$ + +Where + +* The left side is a surface integral of the electric field $\vec{E}$ over a closed surface $\vec{A}$, and +* $Q_{enc}$ is the charge enclosed by the surface, and +* $\epsilon_0$ is the [permittivity of free space](https://en.wikipedia.org/wiki/Vacuum_permittivity). + +## Differential form + +Gauss's law can also be written in differential form: + +$$ \nabla \cdot \vec{E} = \frac{\rho}{\epsilon_0} $$ + +Where + +* The left side is the [divergence](https://en.wikipedia.org/wiki/Divergence) of the electric field $\vec{E}$, and +* $\rho$ is the [charge density](https://en.wikipedia.org/wiki/Charge_density). + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Gauss%27s_law) +- [Oregon State](https://books.physics.oregonstate.edu/GSF/maxwell1.html) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/gaussian.mdx b/stemformulas-next/src/content/formulas/gaussian.mdx new file mode 100644 index 00000000..25ed9493 --- /dev/null +++ b/stemformulas-next/src/content/formulas/gaussian.mdx @@ -0,0 +1,23 @@ +--- +title: Gaussian/Normal Distribution +description: "The formula for the normal distribution." +summary: "The formula for the normal distribution." +tags: ["math", "statistics", "probability theory"] +date: 2023-07-13 +latex: f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2} +--- + +The formula for the normal distribution as a function of the variable x is: + +$$ \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2} $$ + +Where + +* $ \small e\ $ is Euler's number, +* $ \small \mu\ $ is the mean of the distribution, and +* \$ \small \sigma\ $ is the standard deviation of the distribution. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Normal_distribution) +- [Britannica](https://www.britannica.com/topic/uniform-distribution-statistics) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/gradient.mdx b/stemformulas-next/src/content/formulas/gradient.mdx new file mode 100644 index 00000000..abb1266b --- /dev/null +++ b/stemformulas-next/src/content/formulas/gradient.mdx @@ -0,0 +1,52 @@ +--- +title: Gradient +description: "The concept of gradient in vector calculus." +summary: "The concept of gradient in vector calculus." +tags: ["math", "vector calculus"] +date: 2023-07-08 +latex: \nabla f = \frac{\partial f}{\partial x} \mathbf{i} + \frac{\partial f}{\partial y} \mathbf{j} + \frac{\partial f}{\partial z} \mathbf{k} +--- + +The gradient represents the direction and magnitude of the steepest ascent of the function \$ \small f $ at any given point. + +## Cartesian Coordinates + +The gradient of a scalar function \$ \small f $ in cartesian coordinates is given by: + +$$ \nabla f = \frac{\partial f}{\partial x} \mathbf{i} + \frac{\partial f}{\partial y} \mathbf{j} + \frac{\partial f}{\partial z} \mathbf{k} $$ + + +Where: +- \$ \small \\nabla $ represents the del operator (also known as the gradient operator), +- \$ \small \mathbf{i}, \mathbf{j}, \mathbf{k} $ are the unit vectors in the x, y, and z directions respectively, and +- $ \partial $ represents the partial derivative operator. + +## Cylindrical Coordinates + +The gradient of a scalar function $ \small f $ in cylindrical coordinates is given by: + +$$ \nabla f = \frac{\partial f}{\partial \rho} \hat{\rho} + \frac{1}{\rho} \frac{\partial f}{\partial \varphi} \hat{\varphi} + \frac{\partial f}{\partial z} \hat{z}$$ + +Where: +- $ \small \rho $ is the radial coordinate, $ \small \varphi $ is the azimuthal coordinate, and $ \small z $ is the vertical coordinate, +- $ \hat{\rho}, \hat{\varphi}, \hat{z} $ are the unit vectors in the $ \small \rho, \varphi, z $ directions respectively. + + +## Spherical Coordinates + +The gradient of a scalar function $ \small f $ in spherical coordinates is given by: + +$$ \nabla f = \frac{\partial f}{\partial r} \hat{r} + \frac{1}{r} \frac{\partial f}{\partial \theta} \hat{\theta} + \frac{1}{r \sin \theta} \frac{\partial f}{\partial \varphi} \hat{\varphi} $$ + +Where: +- $ \small r $ is the radial coordinate, $ \small \theta $ is the polar coordinate, and $ \small \varphi $ is the azimuthal coordinate, and +- $ \hat{r}, \hat{\theta}, \hat{\varphi} $ are the unit vectors in the $ \small r, \theta, \varphi $ directions respectively. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Gradient) +- [Profound Physics](https://profoundphysics.com/gradient-in-different-coordinates/) + +## See also +- [Divergence](/formulas/divergence/) +- [Curl](/formulas/curl/) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/grand-canonical-partition-function.mdx b/stemformulas-next/src/content/formulas/grand-canonical-partition-function.mdx new file mode 100644 index 00000000..26311f39 --- /dev/null +++ b/stemformulas-next/src/content/formulas/grand-canonical-partition-function.mdx @@ -0,0 +1,24 @@ +--- +title: Grand Canonical Partition Function +description: "The expression describing a grand canonical ensemble in statistical mechanics." +summary: "The expression describing a grand canonical ensemble in statistical mechanics." +tags: ["physics", "statistical mechanics"] +date: 2024-03-14 +latex: \Xi = \sum_{i} e^{\beta ( \mu N_i - E_i)} +--- + +The grand canonical partition function, denoted by $ \small \Xi\ $, is a fundamental concept in statistical mechanics, particularly in the grand canonical ensemble. It represents the sum of the canonical partition functions weighted by the Boltzmann factors over all possible microstates with different numbers of particles. + +$$ \Xi = \sum_{i} e^{\beta ( \mu N_i - E_i)} $$ + +Where: + +- $ \small \Xi $ is the grand canonical partition function, +- $ \small \beta = \frac{1}{k_B T} $ is the thermodynamic beta with $ \small k_B$ being the Boltzmann constant and $ \small T $ being the absolute temperature, +- $ \small \mu $ is the chemical potential of the system, +- $ \small N_i $ is the number of particles in the $ \small i $-th microstate, and +- $ \small E_i $ is the energy of the $ \small i $-th microstate. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Partition_function_(statistical_mechanics)#Grand_canonical_partition_function) diff --git a/stemformulas-next/src/content/formulas/gravitational-potential-energy.mdx b/stemformulas-next/src/content/formulas/gravitational-potential-energy.mdx new file mode 100644 index 00000000..09923a41 --- /dev/null +++ b/stemformulas-next/src/content/formulas/gravitational-potential-energy.mdx @@ -0,0 +1,38 @@ +--- +title: "Gravitational Potential Energy" +description: "The potential energy of an object in a gravitation field." +summary: "The potential energy of an object in a gravitation field." +tags: ["physics"] +date: 2022-12-24 +latex: "U = mgh" +--- + +$$ U = mgh $$ + +Where +* $U$ is the gravitational potential energy of the object, +* $m$ is the mass of the object, +* $g$ is the acceleration due to gravity, and +* $h$ is the height of the object above the ground. + +This is an approximation that can be made when the object is small compared to the distance between the object and the ground, and g is fairly constant in the domain of observation. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Potential_energy#Local_approximation) +- [HyperPhysics](http://hyperphysics.phy-astr.gsu.edu/hbase/gpot.html) + +## Example +Kevin throws a 400,000 kg spaceship straight up from the surface of the earth, with an initial velocity of 100 m/s. After some time, the spaceship reaches its peak height. Assuming no losses due to friction, what is this peak height? + +Since no energy is lost due to air friction, we know that all of the kinetic energy gets converted to potential energy. + +The initial kinetic energy is $\scriptsize E_k = \frac{1}{2}mv^2 = 200,000 * 100^2 = 5.0 \cdot 10^{10} J$ + +The final potential energy is $\scriptsize 5.0 \cdot 10^{10} = mgh = 400,000 * 9.8 * h$ + +So, we can solve for the height of the spaceship: + +$\scriptsize h = \frac{5.0 \cdot 10^{10}}{400,000 * 9.8} = 1.27 \cdot 10^4 m$ + +## See also +- [Kinetic Energy](/formulas/kinetic-energy/) diff --git a/stemformulas-next/src/content/formulas/greek-letters.mdx b/stemformulas-next/src/content/formulas/greek-letters.mdx new file mode 100644 index 00000000..45be4fd9 --- /dev/null +++ b/stemformulas-next/src/content/formulas/greek-letters.mdx @@ -0,0 +1,38 @@ +--- +title: "Greek Letters" +description: "A table of Greek letters and their common uses." +summary: "A table of Greek letters and their common uses." +tags: ["misc"] +date: 2023-09-22 +latex: \Delta \Omega \lambda +showTableOfContents: false +--- + +While not technically formulas, Greek letters are used in many formulas and this reference can be useful for identifying their names/their LaTeX commands. + +| Name | Uppercase | Lowercase | Commonly used for... | +|-----------|-------------|-------------|----------------------------------------------| +| Alpha | $ \Alpha $ | $ \alpha $ | linear expansion, nuclear physics | +| Beta | $ \Beta $ | $ \beta $ | nuclear physics | +| Gamma | $ \Gamma $ | $ \gamma $ | special relativity, gamma function | +| Delta | $ \Delta $ | $ \delta $ | differentials, Dirac delta function | +| Epsilon | $ \Epsilon $ | $ \epsilon/\varepsilon $ | permittivity, small quantities | +| Zeta | $ \Zeta $ | $ \zeta $ | Riemann zeta function | +| Eta | $ \Eta $ | $ \eta $ | efficiency, viscosity | +| Theta | $ \Theta $ | $ \theta $ | angles, time complexity | +| Iota | $ \Iota $ | $ \iota $ | | +| Kappa | $ \Kappa $ | $ \kappa $ | thermal conductivity | +| Lambda | $ \Lambda $ | $ \lambda $ | wavelength, decay constant | +| Mu | $ \Mu $ | $ \mu $ | coefficient of friction, permeability | +| Nu | $ \Nu $ | $ \nu $ | frequency | +| Xi | $ \Xi $ | $ \xi $ | | +| Omicron | $ \Omicron $ | $ \omicron $ | | +| Pi | $ \Pi $ | $ \pi $ | product, mathematical constant | +| Rho | $ \Rho $ | $ \rho $ | resistivity, density | +| Sigma | $ \Sigma $ | $ \sigma $ | sum, standard deviation, conductivity, stress| +| Tau | $ \Tau $ | $ \tau $ | torque, time constant | +| Upsilon | $ \Upsilon $ | $ \upsilon $ | | +| Phi | $ \Phi $ | $ \phi/\varphi $ | magnetic flux, golden ratio, angles | +| Chi | $ \Chi $ | $ \chi $ | electric susceptibility, Chi-squared | +| Psi | $ \Psi $ | $ \psi $ | wave function, angles | +| Omega | $ \Omega $ | $ \omega $ | angular velocity, solid angle, resistance | diff --git a/stemformulas-next/src/content/formulas/greens-theorem.mdx b/stemformulas-next/src/content/formulas/greens-theorem.mdx new file mode 100644 index 00000000..a67b39bc --- /dev/null +++ b/stemformulas-next/src/content/formulas/greens-theorem.mdx @@ -0,0 +1,24 @@ +--- +title: "Green's Theorem" +description: "Green's theorem is a formula that describes the relationship between certain closed path line integrals and line integrals." +summary: "Green's theorem is a formula that describes the relationship between certain closed path line integrals and line integrals." +tags: ["vector calculus", "integration", "multivariable calculus", "calculus"] +date: 2022-12-30 +latex: \small \oint_C Pdx + Qdy = \iint_D \frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} dA +--- + +If $\small P$ and $\small Q$ are continuous functions of $\small x$ and $\small y$ over the region $\small D$ with a closed path $\small C$ that bounds $\small D$, then Green's theorem states that + +$$ \oint_C Pdx + Qdy = \iint_D \frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y} dA $$ + +Honestly, just read [Paul's Online Notes](https://tutorial.math.lamar.edu/classes/calcIII/GreensTheorem.aspx), they're great. + +Green's theorem can be thought of as a 2D version of [Stokes' theorem](/formulas/stokes-theorem). + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Green%27s_theorem) +- [Paul's Online Notes](https://tutorial.math.lamar.edu/classes/calcIII/GreensTheorem.aspx) + +## See also +- [Divergence Theorem](/formulas/divergence-theorem) +- [Stokes' Theorem](/formulas/stokes-theorem) diff --git a/stemformulas-next/src/content/formulas/hookes-law-springs.mdx b/stemformulas-next/src/content/formulas/hookes-law-springs.mdx new file mode 100644 index 00000000..839549fc --- /dev/null +++ b/stemformulas-next/src/content/formulas/hookes-law-springs.mdx @@ -0,0 +1,23 @@ +--- +title: Hooke's Law (Spring Constant) +description: Hooke's Law and the Spring Constant relate the force and displacement of a spring. +summary: Hooke's Law and the Spring Constant relate the force and displacement of a spring. +tags: ["physics", "mechanics"] +date: 2022-12-30 +latex: F = -kx +--- + +$$ F = -kx $$ + +Where +* $F$ is the force applied to stretch or compress the spring, +* $k$ is the spring constant of the spring, and +* $x$ is the displacement of the spring. + +The negative sign is used when the force being considered is the "restoring force". +If the force is the "applied force", then the negative sign is omitted. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Hooke's_law#Tensional_stress_of_a_uniform_bar) +- [Byju's](https://byjus.com/physics/stress-and-strain/) + diff --git a/stemformulas-next/src/content/formulas/hookes-law-stress-strain.mdx b/stemformulas-next/src/content/formulas/hookes-law-stress-strain.mdx new file mode 100644 index 00000000..d243f918 --- /dev/null +++ b/stemformulas-next/src/content/formulas/hookes-law-stress-strain.mdx @@ -0,0 +1,24 @@ +--- +title: Hooke's Law (Modulus of Elasticity) +description: Hooke's Law and Modulus of Elasticity relate the stress and strain of a material. +summary: Hooke's Law and Modulus of Elasticity relate the stress and strain of a material. +tags: ["physics", "mechanical engineering", "materials engineering"] +date: 2022-12-30 +latex: \frac{F}{A} = E\frac{\Delta L}{L} +--- + +$$ \frac{F}{A} = E\frac{\Delta L}{L} $$ + +Where +* $F$ is the force applied to the material, +* $A$ is the area of the material where force is applied, +* $E$ is the modulus of elasticity (a.ka. Young's modulus) of the material, +* $\Delta L$ is the change in length of the material, and +* $L$ is the original length of the material. + +This version of Hooke's Law is generalized from the [original version](/formulas/hookes-law-springs) used to describe the force of springs. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Hooke's_law#Tensional_stress_of_a_uniform_bar) +- [Byju's](https://byjus.com/physics/stress-and-strain/) + diff --git a/stemformulas-next/src/content/formulas/hydraulic-diameter.mdx b/stemformulas-next/src/content/formulas/hydraulic-diameter.mdx new file mode 100644 index 00000000..21a29c5e --- /dev/null +++ b/stemformulas-next/src/content/formulas/hydraulic-diameter.mdx @@ -0,0 +1,23 @@ +--- +title: Hydraulic Diameter +description: "The generalized characteristic length scale for flow in pipes." +summary: "The generalized characteristic length scale for flow in pipes." +tags: ["physics", "fluid dynamics"] +date: 2024-03-14 +latex: D_h = \frac{4A_c}{P} +--- + +The hydraulic diameter is a characteristic length scale for fluid flow in non-circular pipes. It replaces the diameter of a circular pipe with an equivalent diameter based on the cross-sectional area and wetted perimeter of the non-circular pipe. It is defined as: + +$$ D_h = \frac{4A_c}{P} $$ + +Where: + +- \$ \small D_h\ $ is the hydraulic diameter, +- \$ \small A_c\ $ is the cross-sectional area of the flow, and +- \$ \small P\ $ is the wetted perimeter of the cross-section. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Hydraulic_diameter) +- [Engineering Toolbox](https://www.engineeringtoolbox.com/hydraulic-equivalent-diameter-d_458.html) diff --git a/stemformulas-next/src/content/formulas/hydrostatic-equation.mdx b/stemformulas-next/src/content/formulas/hydrostatic-equation.mdx new file mode 100644 index 00000000..e8c18d5e --- /dev/null +++ b/stemformulas-next/src/content/formulas/hydrostatic-equation.mdx @@ -0,0 +1,30 @@ +--- +title: Hydrostatic Equation +description: "The formula for hydrostatic pressure force." +summary: "The formula for hydrostatic pressure force." +tags: ["physics", "fluid mechanics"] +date: 2024-02-07 +latex: \frac{dP}{dz} = - \rho g +--- + +The hydrostatic pressure in a system is the pressure exerted by a fluid at equilibrium due to the force of gravity. The following equations are used to describe the hydrostatic pressure force: + +$$ \frac{dP}{dz} = - \rho g $$ + +$$ P = P_0 - \rho g z $$ + +$$ \Delta P = \rho g \Delta z $$ + +Where + +* $ \small P $ is the pressure, +* $ \small P_0 $ is the pressure at some reference point, +* $ \small z $ is the height above the reference point, +* $ \small \small \rho $ is the density of the fluid, and +* $ \small \small g $ is the acceleration due to gravity. + +Note that the negative sign means that the pressure decreases with increasing height. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Hydrostatic_equilibrium) diff --git a/stemformulas-next/src/content/formulas/hyperbolic-trig-functions.mdx b/stemformulas-next/src/content/formulas/hyperbolic-trig-functions.mdx new file mode 100644 index 00000000..c60638dd --- /dev/null +++ b/stemformulas-next/src/content/formulas/hyperbolic-trig-functions.mdx @@ -0,0 +1,26 @@ +--- +title: Hyperbolic Functions +description: Definitions of the hyperbolic functions +summary: Definitions of the hyperbolic functions +tags: ["math", "trigonometry", "e", "imaginary numbers", "complex analysis"] +date: 2022-12-30 +latex: \sinh(x) = \frac{e^x - e^{-x}}{2} +--- + +$$\small \sinh(x) = \frac{e^x - e^{-x}}{2}, \cosh(x) = \frac{e^x + e^{-x}}{2}, \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}$$ + +Where +* $e$ is [Euler's number](https://en.wikipedia.org/wiki/E_(mathematical_constant)) ~= 2.71828, and +* $i$ is the imaginary unit, $\sqrt{-1}$ + +## Complex trig definitions + +The hyperbolic functions can be defined in terms of the trig functions with complex arguments: +* $\sinh(x) = -i \sin(ix)$ +* $\cosh(x) = \cos(ix)$ +* $\tanh(x) = -i \tan(ix)$ + + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Hyperbolic_functions#Definition) +- [Byju's](https://byjus.com/maths/hyperbolic-function/) diff --git a/stemformulas-next/src/content/formulas/ideal-gas-law.mdx b/stemformulas-next/src/content/formulas/ideal-gas-law.mdx new file mode 100644 index 00000000..dc800f2d --- /dev/null +++ b/stemformulas-next/src/content/formulas/ideal-gas-law.mdx @@ -0,0 +1,37 @@ +--- +title: "Ideal Gas Law" +description: "The equation of state of a hypothetical ideal gas." +summary: "The equation of state of a hypothetical ideal gas." +tags: ["chemistry"] +date: 2022-11-27 +latex: PV = nRT +--- +The ideal gas law is given by: + +$$PV = nRT$$ + +Where +- $P$ is the pressure of the gas, +- $V$ is the volume of the gas, +- $n$ is the number of moles of gas, +- $R$ is the gas constant (see [here](https://en.wikipedia.org/wiki/Gas_constant) for a table of R with various units), and +- $T$ is the temperature of the gas. + +"The ideal gas law, also called the general gas equation, is the equation of state of a hypothetical ideal gas. It is a good approximation of the behavior of many gases under many conditions, although it has several limitations." - Wikipedia + + + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Ideal_gas_law) +- [HyperPhysics](http://hyperphysics.phy-astr.gsu.edu/hbase/Kinetic/idegas.html) + +## Example + +Kevin has a 1 liter container of a mysterious (ideal) gas at 1 atm and 300 K. What is the pressure of the gas if the volume is doubled? + +There are two ways we could use the Ideal Gas Law to solve this problem: + +1. We could solve for $n = \frac{PV}{RT}$ and then use that to solve for $P_2 = \frac{nRT}{V_2}$ +2. We could notice that the right side of the equation, $nRT$ is a constant, since no moles of gas can escape, +R is a constant by definition, and the temperature is not changed in the question. Since the right side is a constant, +the left side must remain a constant. If the volume is doubled, then the pressure must thus be halved. diff --git a/stemformulas-next/src/content/formulas/image.png b/stemformulas-next/src/content/formulas/image.png new file mode 100644 index 0000000000000000000000000000000000000000..2dce2a35cdfae38064b4100327bb2540ba0cf481 GIT binary patch literal 165628 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 Fe*pT?L6-mk literal 0 HcmV?d00001 diff --git a/stemformulas-next/src/content/formulas/impulse-momentum-theorem.mdx b/stemformulas-next/src/content/formulas/impulse-momentum-theorem.mdx new file mode 100644 index 00000000..9659e3b8 --- /dev/null +++ b/stemformulas-next/src/content/formulas/impulse-momentum-theorem.mdx @@ -0,0 +1,23 @@ +--- +title: Impulse-Momentum Theorem +description: "The Impulse-Momentum Theorem formula." +summary: "The Impulse-Momentum Theorem formula." +tags: ["physics", "mechanics"] +date: 2025-01-04 +latex: J = \Delta p = F \Delta t +--- + +The Impulse-Momentum Theorem denotes the relationship between the change in momentum and a force that is applied over a time interval. It is given by: + +$$ J = \Delta p = F \Delta t $$ + +Where + +* $ \small \small J $ is the impulse, +* $ \small \small \Delta p $ is the change in momentum (which is how impulse is defined), +* $ \small \small F $ is the net applied force, and +* $ \small \small \Delta t $ is the time interval over which the force is applied. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Impulse_(physics)) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/incompressible-navier-stokes.mdx b/stemformulas-next/src/content/formulas/incompressible-navier-stokes.mdx new file mode 100644 index 00000000..c5f1af67 --- /dev/null +++ b/stemformulas-next/src/content/formulas/incompressible-navier-stokes.mdx @@ -0,0 +1,62 @@ +--- +title: Incompressible Navier-Stokes Eqns. +description: "The incompressible Navier-Stokes equations describe the motion of incompressible fluid substances." +summary: "The incompressible Navier-Stokes equations describe the motion of incompressible fluid substances." +tags: ["fluid mechanics", "physics"] +date: 2025-01-11 +showTableOfContents: false +latex: \frac{\partial u}{\partial x} + \frac{\partial v}{\partial y} + \frac{\partial w}{\partial z} = 0 +--- + +The incompressible Navier-Stokes equations are a simpler form of the [Navier-Stokes equations](https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_equations) that describe the motion of incompressible ($ \small \rho $ = constant) fluid substances. This page focuses on the 3-dimensional equations. + +## Cartesian Coordinates +For cartesian coordinates $ \small x, y, z $ and time $ \small t $, the incompressible Navier-Stokes equations are: + +### Continuity Equation +$$ \frac{\partial u}{\partial x} + \frac{\partial v}{\partial y} + \frac{\partial w}{\partial z} = 0 $$ + +### X-momentum Equation +$$ \rho \left(\frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} + v \frac{\partial u}{\partial y} + w \frac{\partial u}{\partial z}\right) = - \frac{\partial P}{\partial x} + \mu \left( \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2} \right) + \rho g_x$$ + +### Y-momentum Equation +$$ \rho \left(\frac{\partial v}{\partial t} + u \frac{\partial v}{\partial x} + v \frac{\partial v}{\partial y} + w \frac{\partial v}{\partial z}\right) = - \frac{\partial P}{\partial y} + \mu \left( \frac{\partial^2 v}{\partial x^2} + \frac{\partial^2 v}{\partial y^2} + \frac{\partial^2 v}{\partial z^2} \right) + \rho g_y$$ + +### Z-momentum Equation +$$ \rho \left(\frac{\partial w}{\partial t} + u \frac{\partial w}{\partial x} + v \frac{\partial w}{\partial y} + w \frac{\partial w}{\partial z}\right) = - \frac{\partial P}{\partial z} + \mu \left( \frac{\partial^2 w}{\partial x^2} + \frac{\partial^2 w}{\partial y^2} + \frac{\partial^2 w}{\partial z^2} \right) + \rho g_z$$ + +Where + +* $\small \rho$ is the fluid density, +* $\small P$ is the pressure, +* $\small u$, $\small v$, and $\small w$ are the velocity components in the $x$, $y$, and $z$ directions, respectively. +* $\small g_x$, $\small g_y$, and $\small g_z$ are the components of the gravitational acceleration vector, and +* $\small \mu$ is the dynamic viscosity of the fluid. + +## Cylindrical Coordinates +For cylindrical coordinates $ \small r, \theta, z $ and time $ \small t $, the incompressible Navier-Stokes equations are: + +### Continuity Equation +$$ \frac{1}{r} \frac{\partial (r u_r)}{\partial r} + \frac{1}{r} \frac{\partial (u_{\theta})}{\partial \theta} + \frac{\partial (u_{z})}{\partial z} = 0 $$ + +### R-component +$$ \rho \left(\frac{\partial u_r}{\partial t} + u_r \frac{\partial u_r}{\partial r} + \frac{u_{\theta}}{r} \frac{\partial u_r}{\partial \theta} - \frac{u_{\theta}^2}{r} + u_z \frac{\partial u_r}{\partial z} \right) = - \frac{\partial P}{\partial r} + \rho g_r+ \mu \left[ \frac{1}{r} \frac{\partial}{\partial r} \left(r \frac{\partial u_r}{\partial r}\right) - \frac{u_r}{r^2} + \frac{1}{r^2} \frac{\partial^2 u_r}{\partial \theta^2} -\frac{2}{r^2} \frac{\partial u_{\theta}}{\partial \theta} + \frac{\partial^2 u_r}{\partial z^2} \right] $$ + +### $\small \theta$-component +Here is the transcribed equation in the requested single-line LaTeX format: + +$$ \rho \left(\frac{\partial u_{\theta}}{\partial t} + u_{r} \frac{\partial u_{\theta}}{\partial r} + \frac{u_{\theta}}{r} \frac{\partial u_{\theta}}{\partial \theta} + \frac{u_{r} u_{\theta}}{r} + u_{z} \frac{\partial u_{\theta}}{\partial z} \right) = - \frac{1}{r} \frac{\partial P}{\partial \theta} + \rho g_{\theta} + \mu \left[ \frac{1}{r} \frac{\partial}{\partial r} \left(r \frac{\partial u_{\theta}}{\partial r}\right) - \frac{u_{\theta}}{r^{2}} + \frac{1}{r^{2}} \frac{\partial^{2} u_{\theta}}{\partial \theta^{2}} + \frac{2}{r^{2}} \frac{\partial u_{r}}{\partial \theta} + \frac{\partial^{2} u_{\theta}}{\partial z^{2}} \right] $$ + + +### Z-component + +$$ \rho \left(\frac{\partial u_z}{\partial t} + u_r \frac{\partial u_z}{\partial r} + \frac{u_{\theta}}{r} \frac{\partial u_z}{\partial \theta} + u_z \frac{\partial u_z}{\partial z} \right) = - \frac{\partial P}{\partial z} + \rho g_z + \mu \left[ \frac{1}{r} \frac{\partial}{\partial r} \left(r \frac{\partial u_z}{\partial r}\right) + \frac{1}{r^2} \frac{\partial^2 u_z}{\partial \theta^2} + \frac{\partial^2 u_z}{\partial z^2} \right] $$ + +Where: +- $\small u_r$, $\small u_{\theta}$, and $\small u_z$ are the velocity components in the $r$, $\theta$, and $z$ directions, and +- $\small g_r$, $\small g_{\theta}$, and $\small g_z$ are the components of the gravitational acceleration vector in the $r$, $\theta$, and $z$ directions, respectively. + +## Sources + +- [Peter's Engineering Blog](http://petersengineering.blogspot.com/2015/06/navier-stokes-equation-for-3d.html) +- [Fluid Mechanics, Cengel & Cimbala 4th Ed. P474-475](https://archive.org/details/ed4_20201119) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/inductor-energy.mdx b/stemformulas-next/src/content/formulas/inductor-energy.mdx new file mode 100644 index 00000000..2e570adb --- /dev/null +++ b/stemformulas-next/src/content/formulas/inductor-energy.mdx @@ -0,0 +1,29 @@ +--- +title: Inductor Energy +description: "Energy stored in an inductor." +summary: "Energy stored in an inductor." +tags: ["electronics", "electrical engineering"] +date: 2023-09-06 +latex: "E = \\frac{1}{2} L I^2" +--- + +## Energy +The energy stored in an inductor is given by: + +$$ E = \frac{1}{2} L I^2 $$ + +Where + +- $ \small E $ represents the energy stored in the inductor in joules (J), +- $ \small L $ is the inductance of the inductor, in henries (H), and +- $ \small I $ is the current through the inductor, in amperes (A). + + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Inductor) +- [Electrical Technology](https://www.electricaltechnology.org/2020/10/inductor-inductance-formula-equations.html) + +## See also + +- [Inductor Voltage](/formulas/inductor-voltage) diff --git a/stemformulas-next/src/content/formulas/inductor-voltage.mdx b/stemformulas-next/src/content/formulas/inductor-voltage.mdx new file mode 100644 index 00000000..833e5443 --- /dev/null +++ b/stemformulas-next/src/content/formulas/inductor-voltage.mdx @@ -0,0 +1,24 @@ +--- +title: Inductor Voltage +description: "Instantaneous voltage across an inductor." +summary: "Instantaneous voltage across an inductor." +tags: ["electronics", "electrical engineering"] +date: 2023-09-06 +latex: "V = L \\frac{dI}{dt}" +--- + +The instantaneous voltage across an inductor is given by: + +$$ V = L \frac{dI}{dt} $$ + +Where + +- $ \small V $ represents the voltage across the inductor. +- $ \small L $ is the inductance of the inductor, usually measured in henries (H). +- $ \small \frac{dI}{dt} $ is the rate of change of current through the inductor with respect to time. + + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Inductor) +- [Electrical Technology](https://www.electricaltechnology.org/2020/10/inductor-inductance-formula-equations.html) diff --git a/stemformulas-next/src/content/formulas/kinematic-viscosity.mdx b/stemformulas-next/src/content/formulas/kinematic-viscosity.mdx new file mode 100644 index 00000000..45b5ee6c --- /dev/null +++ b/stemformulas-next/src/content/formulas/kinematic-viscosity.mdx @@ -0,0 +1,22 @@ +--- +title: Kinematic Viscosity +description: "The ratio of the dynamic viscosity to the density of a fluid." +summary: "The ratio of the dynamic viscosity to the density of a fluid." +tags: ["fluid mechanics", "physics"] +date: 2024-03-13 +latex: "\nu = \\frac{\\mu}{\\rho}" +--- + +Kinematic viscosity is the ratio of the viscosity (dynamic viscosity) to the density of a fluid: + +$$ \nu = \frac{\mu}{\rho} $$ + +Where: + +- \$ \small \nu\ $ is the kinematic viscosity of the fluid, +- \$ \small \mu\ $ is the dynamic viscosity of the fluid, and +- \$ \small \rho\ $ is the density of the fluid. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Viscosity#Kinematic_viscosity) diff --git a/stemformulas-next/src/content/formulas/kinetic-energy.mdx b/stemformulas-next/src/content/formulas/kinetic-energy.mdx new file mode 100644 index 00000000..157528fa --- /dev/null +++ b/stemformulas-next/src/content/formulas/kinetic-energy.mdx @@ -0,0 +1,30 @@ +--- +title: "Kinetic Energy" +description: "The energy of motion." +summary: "The energy of motion." +tags: ["physics"] +date: 2022-12-24 +latex: E_k = \frac{1}{2}mv^2 +--- + +$$ E_k = \frac{1}{2}mv^2 $$ + +Where +* $E_k$ is the kinetic energy of the object, +* $m$ is the mass of the object, and +* $v$ is the velocity of the object. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Kinetic_energy) +- [Brittanica](https://www.britannica.com/science/kinetic-energy) + +## Example +Kevin throws a 400,000 kg spaceship straight down off of an infinitely tall cliff. After some time, it reaches a terminal velocity of 500 m/s. What is the kinetic energy of the spaceship at this point? + +We know that kinetic energy is equal to $\small \frac{1}{2}mv^2$, so we can plug in the values to get the answer: + +$$ \scriptsize E_k = \frac{1}{2}mv^2 \Longrightarrow E_k = \frac{1}{2} \cdot 400000 \cdot 500^2 \Longrightarrow E_k = 5.0 \cdot 10^{10} J $$ + + +## See also +- [Potential Energy](/formulas/gravitational-potential-energy/) diff --git a/stemformulas-next/src/content/formulas/laplaces-equation.mdx b/stemformulas-next/src/content/formulas/laplaces-equation.mdx new file mode 100644 index 00000000..f1888afe --- /dev/null +++ b/stemformulas-next/src/content/formulas/laplaces-equation.mdx @@ -0,0 +1,34 @@ +--- +title: "Laplace's Equation" +description: "Laplace's equation is a common partial differential equation" +summary: "Laplace's equation is a common partial differential equation" +tags: ["math", "differential equations", "physics"] +date: 2022-12-24 +latex: \nabla^2 f = \nabla \cdot \nabla f = 0 +--- + +$$ \nabla^2 f = \nabla \cdot \nabla f = 0 $$ + +Where +* $f$ is a twice-differentiable function, +* $\nabla$ is the [gradient operator](https://en.wikipedia.org/wiki/Gradient), +* $\nabla^2$ is the [Laplace operator](https://en.wikipedia.org/wiki/Laplace_operator), and +* $\nabla \cdot $ is the [divergence operator](https://en.wikipedia.org/wiki/Divergence). + +## In Different Coordinate Systems + +#### In rectangular coordinates: + +$$ \scriptsize \nabla^2 f = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2} + \frac{\partial^2 f}{\partial z^2} = 0$$ + +#### In cylindrical coordinates: +$$ \scriptsize \nabla^2 f = \frac{1}{r} \frac{\partial}{\partial r} \left( r \frac{\partial f}{\partial r} \right) + \frac{1}{r^2} \frac{\partial^2 f}{\partial \phi^2} + \frac{\partial^2 f}{\partial z^2} = 0$$ + +#### In spherical coordinates: +$$ \scriptsize \nabla^2 f = \frac{1}{r^2} \frac{\partial}{\partial r} \left( r^2 \frac{\partial f}{\partial r} \right) + \frac{1}{r^2 \sin \theta} \frac{\partial}{\partial \theta} \left( \sin \theta \frac{\partial f}{\partial \theta} \right) + \frac{1}{r^2 \sin^2 \theta}\frac{\partial^2 f}{\partial \varphi^2} = 0$$ + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Laplace%27s_equation) +- Griffith's Introduction to Electrodynamics' back cover + + diff --git a/stemformulas-next/src/content/formulas/lhopitals-rule.mdx b/stemformulas-next/src/content/formulas/lhopitals-rule.mdx new file mode 100644 index 00000000..acabe4b6 --- /dev/null +++ b/stemformulas-next/src/content/formulas/lhopitals-rule.mdx @@ -0,0 +1,33 @@ +--- +title: L'Hopital's Rule +description: L'Hopital's rule is a method for evaluating limits of indeterminate forms. +summary: L'Hopital's rule is a method for evaluating limits of indeterminate forms. +tags: ["math", "calculus", "limits"] +date: 2023-01-03 +latex: \lim_{x \to c} \frac{f(x)}{g(x)} = \lim_{x \to c} \frac{f'(x)}{g'(x)} +--- + +L'hopital's rule is a method for evaluating limits of [indeterminate form](https://en.wikipedia.org/wiki/Indeterminate_form). + +$$\lim_{x \to c} \frac{f(x)}{g(x)} = \lim_{x \to c} \frac{f'(x)}{g'(x)}$$ + +Where +- $ \small f(x) $ and $ \small g(x) $ are functions, +- $\small '$ denotes the derivative of a function, and +- $ \small c $ is the point at which the limit is being evaluated + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/L%27H%C3%B4pital%27s_rule) +- [Paul's Online Notes](https://tutorial.math.lamar.edu/classes/calci/lhospitalsrule.aspx) + +## Example + +Calculate the limit of $\small f(x) = \frac{x^2 - 9}{x - 3}$ as $\small x$ approaches $\small 3$. + +Since plugging in 3 yields 0/0 which is an indeterminate form, we can apply L'Hopital's rule, with $ \small f(x) = x^2 - 9$ and $ \small g(x) = x - 3$. + +Taking both derivatives, we get $ \small f'(x) = 2x$ and $ \small g'(x) = 1$. + +Plugging into the right side of the L'Hopital's rule, we get that + +$$ \lim_{x \to 3} \frac{f(x)}{g(x)} = \lim_{x \to 3} \frac{f'(x)}{g'(x)} = \lim_{x \to 3} \frac{2x}{1} = 6$$ diff --git a/stemformulas-next/src/content/formulas/light-wavelength-frequency.mdx b/stemformulas-next/src/content/formulas/light-wavelength-frequency.mdx new file mode 100644 index 00000000..1de09ba5 --- /dev/null +++ b/stemformulas-next/src/content/formulas/light-wavelength-frequency.mdx @@ -0,0 +1,32 @@ +--- +title: "Light Wavelength and Frequency Relationship" +description: "The relationship between the wavelength and frequency of light." +summary: "The relationship between the wavelength and frequency of light." +tags: ["physics", "optics"] +date: 2023-03-24 +latex: c = \lambda f +--- + +The relationship between the wavelength and frequency of light in a vacuum is: + +$$ c_0 = \lambda f $$ + +Where + +* $\scriptsize \lambda$ is the wavelength of the light, +* $\scriptsize c_0$ is the speed of light in a vacuum, and +* $\scriptsize f$ is the frequency of the light. + +For a medium with a refractive index of $\scriptsize n$, the relationship is: + +$$ \frac{c_0}{n} = \frac{\lambda}{n} f $$ + +That is to say, the speed of light and wavelength change in a medium, but the frequency remains the same. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Wavelength) +- [Brittanica](https://www.britannica.com/science/wavelength) + +## See also +- [Energy of light](/formulas/energy-of-light/) diff --git a/stemformulas-next/src/content/formulas/linear-thermal-expansion.mdx b/stemformulas-next/src/content/formulas/linear-thermal-expansion.mdx new file mode 100644 index 00000000..5a11afed --- /dev/null +++ b/stemformulas-next/src/content/formulas/linear-thermal-expansion.mdx @@ -0,0 +1,24 @@ +--- +title: Thermal expansion +description: "The thermal expansion formula." +summary: "The thermal expansion formula." +tags: ["physics", "material engineering"] +date: 2023-07-03 +latex: \Delta L = L_0 \alpha \Delta T +--- + +The thermal expansion formula is: + +$$ \Delta L = L_0 \alpha \Delta T $$ + +Where + +* $\small \Delta L$ is the change in length, +* $\small L_0$ is the initial length, +* $\small \alpha$ is the coefficient of linear expansion, and +* $\small \Delta T$ is the change in temperature in Kelvin. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Thermal_expansion) +- [Engineering Toolbox](https://www.engineeringtoolbox.com/linear-thermal-expansion-d_1379.html) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/log-laws.mdx b/stemformulas-next/src/content/formulas/log-laws.mdx new file mode 100644 index 00000000..177b8eaf --- /dev/null +++ b/stemformulas-next/src/content/formulas/log-laws.mdx @@ -0,0 +1,34 @@ +--- +title: Log Laws +description: "Properties of logarithms." +summary: "Properties of logarithms." +tags: ["mathematics"] +date: 2023-09-13 +latex: \log_b(a) = \frac{\log_c(a)}{\log_c(b)} +--- + +Logarithms are the inverse of exponentials. They are useful for solving equations with exponents, and they are used in many other areas of mathematics. Here are some commonly used logarithm properties. + + +For any positive real number $ \small b \neq 1 $, and positive real numbers $ \small a $, and $ \small c $, the following properties hold: + +$$ \log_b(1) = 0 $$ +$$ \log_b(b) = 1 $$ +$$ \log_b(a \cdot c) = \log_b(a) + \log_b(c) $$ +$$ \log_b \left(\frac{a}{c} \right) = \log_b(a) - \log_b(c) $$ +$$ \log_b(a^c) = c \cdot \log_b(a) $$ +$$ b^{\log_b(k)} = k $$ + +Note that $ k $ can be any real number in the last equation. + +## Change of Base Formula + +The change of base formula is useful for converting logarithms to different bases. + +$$ \log_b(a) = \frac{\log_c(a)}{\log_c(b)} $$ + + +## Sources + +- [ChiliMath](https://www.chilimath.com/lessons/advanced-algebra/logarithm-rules/) +- [Wikipedia](https://en.wikipedia.org/wiki/List_of_logarithmic_identities) diff --git a/stemformulas-next/src/content/formulas/lorentz-transformations.mdx b/stemformulas-next/src/content/formulas/lorentz-transformations.mdx new file mode 100644 index 00000000..363953f5 --- /dev/null +++ b/stemformulas-next/src/content/formulas/lorentz-transformations.mdx @@ -0,0 +1,22 @@ +--- +title: Lorentz Transformations +description: Lorentz transformations are used to transform between inertial frames of reference. +summary: Lorentz transformations are used to transform between inertial frames of reference. +tags: ["physics", "relativity"] +date: 2023-01-02 +latex: x' = \frac{x-vt}{\sqrt{1-v^2/c^2}} +--- + +For a fixed frame of reference $\small x, y, z, t$, the following transformations can be used to transform to a frame of reference moving with velocity $\small v$ with respect to the fixed frame: + +$$\small x' = \frac{x-vt}{\sqrt{1-v^2/c^2}}$$ +$$ \small y' = y$$ +$$ \small z' = z$$ +$$ \small t' = \frac{t-vx/c^2}{\sqrt{1-v^2/c^2}}$$ + +Where +* $c$ is the speed of light + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Lorentz_transformation) +- [HyperPhysics](http://hyperphysics.phy-astr.gsu.edu/hbase/Relativ/ltrans.html) diff --git a/stemformulas-next/src/content/formulas/matrix-multiplication.mdx b/stemformulas-next/src/content/formulas/matrix-multiplication.mdx new file mode 100644 index 00000000..ffd3d316 --- /dev/null +++ b/stemformulas-next/src/content/formulas/matrix-multiplication.mdx @@ -0,0 +1,20 @@ +--- +title: Matrix Multiplication +description: "How to multiply matrices." +summary: "How to multiply matrices." +tags: ["math", "linear algebra"] +date: 2023-07-08 +latex: \scriptsize \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} w & x \\ y & z \end{pmatrix} = \begin{pmatrix} aw + by & ax + bz \\ cw + dy & cx + dz \end{pmatrix} +--- + +In general for, any matrix multiplication, the ith row and jth column of the product matrix is the [dot product](/formulas/dot-product) of the ith row of the first matrix and the jth column of the second matrix. + +For example, for two 2x2 matrices, the product matrix is: + +$$ \begin{pmatrix} a & b \\\\ c & d \end{pmatrix} \begin{pmatrix} w & x \\\\ y & z \end{pmatrix} = \begin{pmatrix} aw + by & ax + bz \\\\ cw + dy & cx + dz \end{pmatrix}$$ + + +## Sources + +- [Math is Fun](https://www.mathsisfun.com/algebra/matrix-multiplying.html) +- [Khan Academy](https://www.khanacademy.org/math/precalculus/x9e81a4f98389efdf:matrices/x9e81a4f98389efdf:multiplying-matrices-by-matrices/a/multiplying-matrices) diff --git a/stemformulas-next/src/content/formulas/maxwells-equations.mdx b/stemformulas-next/src/content/formulas/maxwells-equations.mdx new file mode 100644 index 00000000..0eaeb4fe --- /dev/null +++ b/stemformulas-next/src/content/formulas/maxwells-equations.mdx @@ -0,0 +1,78 @@ +--- +title: Maxwell's Equations +description: "The four Maxwell's equations describing electromagnetism." +summary: "The four Maxwell's equations describing electromagnetism." +tags: ["physics", "electromagnetism"] +date: 2023-08-02 +latex: \nabla \cdot \mathbf{E} = \frac{\rho}{\varepsilon_0},\ \nabla \cdot \mathbf{B} = 0,... +--- + +Maxwell's Equations represent the fundamental laws of electromagnetism. + +There are two common forms of Maxwell's Equations: the differential form and the integral form. +## Differential form + +In differential form, Maxwell's equations are given by: + +$$ \nabla \cdot \mathbf{E} = \frac{\rho}{\varepsilon\_0} $$ + +$$ \nabla \cdot \mathbf{B} = 0 $$ + +$$ \nabla \times \mathbf{E} = - \frac{\partial \mathbf{B}}{\partial t}$$ + +$$ \nabla \times \mathbf{B} = \mu\_0 \mathbf{J} + \mu\_0 \varepsilon\_0 \frac{\partial \mathbf{E}}{\partial t} $$ + +Where: + +* $\small \mathbf{E} $ is the electric field vector, +* $\small \mathbf{B} $ is the magnetic field vector, +* $\small \rho $ is the electric charge density, +* $\small \varepsilon_0 $ is the vacuum permittivity (electric constant), +* $\small \mu_0 $ is the vacuum permeability (magnetic constant), and +* $\small \mathbf{J} $ is the electric current density. + +Respectively, these equations are Gauss's Law, Gauss's Law for Magnetism, Faraday's Law, and Ampère's Law with Maxwell's Addition. + +In a vacuum (where there is no charge or current), these simplify to: + +$$ \nabla \cdot \mathbf{E} = 0 $$ +$$ \nabla \cdot \mathbf{B} = 0 $$ +$$ \nabla \times \mathbf{E} = - \frac{\partial \mathbf{B}}{\partial t}$$ +$$ \nabla \times \mathbf{B} = \mu\_0 \varepsilon\_0 \frac{\partial \mathbf{E}}{\partial t} $$ + + +## Integral form + +In integral form, Maxwell's equations are given by: + +$$ \oiint\_{\partial \Omega} \mathbf{E} \cdot d\mathbf{S} = \frac{Q}{\varepsilon\_0} = \frac{1}{\varepsilon\_0}\iiint_{\Omega} \rho \ dV $$ +$$ \oiint\_{\partial \Omega} \mathbf{B} \cdot d\mathbf{S} = 0 $$ +$$ \oint\_{\partial \Sigma} \mathbf{E} \cdot d\mathbf{l} = - \frac{\text{d}}{\text{d} t} \iint\_{\Sigma} \mathbf{B} \cdot d\mathbf{S} $$ +$$ \oint\_{\partial \Sigma} \mathbf{B} \cdot d\mathbf{l} = \mu\_0 \iint\_{\Sigma} \mathbf{J} \cdot d\mathbf{S} + \mu\_0 \varepsilon\_0 \frac{\text{d}}{\text{d} t} \iint\_{\Sigma} \mathbf{E} \cdot d\mathbf{S} $$ + +Where: + +* $ \small \mathbf{E} $ is the electric field vector, +* $\small \mathbf{B} $ is the magnetic field vector, +* $\small Q $ is the electric charge enclosed by the volume $\small \Omega $, +* $ \mathbf{J} $ is the electric current density, +* $ \oiint\_{\partial \Omega} $ is the surface integral over the closed surface $ \partial \Omega $, +* $ \iiint\_{\Omega} $ is the volume integral over the volume $\small \Omega $, +* $ \rho $ is the electric charge density, +* $ \oint\_{\partial \Sigma} $ is the line integral over the closed curve $ \partial \Sigma $, +* $ \iint\_{\Sigma} $ is the surface integral over the surface $\small \Sigma $, +* $ \varepsilon_0 $ is the vacuum permittivity (electric constant), +* $ \mu_0 $ is the vacuum permeability (magnetic constant), and +* $ d \mathbf{l} $, $ d \mathbf{S} $, and $ dV $ are the line, surface, and volume elements, respectively. + +In a vacuum (where there is no charge or current), these simplify to: + +$$ \oiint\_{\partial \Omega} \mathbf{E} \cdot d\mathbf{S} = 0 $$ +$$ \oiint\_{\partial \Omega} \mathbf{B} \cdot d\mathbf{S} = 0 $$ +$$ \oint\_{\partial \Sigma} \mathbf{E} \cdot d\mathbf{l} = - \frac{\text{d}}{\text{d} t} \iint\_{\Sigma} \mathbf{B} \cdot d\mathbf{S} $$ +$$ \oint\_{\partial \Sigma} \mathbf{B} \cdot d\mathbf{l} = \mu\_0 \varepsilon\_0 \frac{\text{d}}{\text{d} t} \iint\_{\Sigma} \mathbf{E} \cdot d\mathbf{S} $$ + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Maxwell's_equations#Formulation_in_SI_units_convention) +- [HyperPhysics](http://hyperphysics.phy-astr.gsu.edu/hbase/electric/maxeq.html) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/modulus-of-resilience.mdx b/stemformulas-next/src/content/formulas/modulus-of-resilience.mdx new file mode 100644 index 00000000..5a8734e4 --- /dev/null +++ b/stemformulas-next/src/content/formulas/modulus-of-resilience.mdx @@ -0,0 +1,32 @@ +--- +title: Modulus of Resilience +description: "The formula for the modulus of resilience." +summary: "The formula for the modulus of resilience." +tags: ["physics", "material engineering"] +date: 2023-07-03 +latex: U_r = \int_{0}^{\epsilon_Y}\sigma\mathop{d\epsilon} \approx \frac{\sigma_{YS}^2}{2E} +--- + +The modulus of resilience is given by: + +$$ U_r = \int_{0}^{\epsilon_Y}\sigma\mathop{d\epsilon} \approx \frac{\sigma_{YS}^2}{2E} $$ + +Where + +* $ \small U_r $ is the modulus of resilience, +* $ \small \sigma $ is the stress, +* $ \small \epsilon $ is the strain, +* $ \small \epsilon_Y $ is the yield strain, +* $ \small \sigma_{YS} $ is the yield strength, and +* $ \small E $ is the elastic modulus (Young's modulus). + +Note that the first formula is th exact formula, equal to the area under the stress-strain curve up to the yield strain, and the second formula is an approximation for the modulus of resilience, which is valid for materials with a linear elastic region. + +## Sources + +- [Mechical](https://www.mechical.com/2022/07/modulus-of-resilience.html) +- [Mechanicalc](https://mechanicalc.com/reference/mechanical-properties-of-materials#modulus-of-resilience) + +## See also +- [Hooke's Law](/formulas/hookes-law-stress-strain/) +- [Modulus of Toughness](/formulas/modulus-of-toughness/) diff --git a/stemformulas-next/src/content/formulas/modulus-of-toughness.mdx b/stemformulas-next/src/content/formulas/modulus-of-toughness.mdx new file mode 100644 index 00000000..dd58d99b --- /dev/null +++ b/stemformulas-next/src/content/formulas/modulus-of-toughness.mdx @@ -0,0 +1,30 @@ +--- +title: Modulus of Toughness +description: "The formula for the modulus of toughness." +summary: "The formula for the modulus of toughness." +tags: ["physics", "material engineering"] +date: 2023-07-03 +latex: U_t = \int_{0}^{\epsilon_f}\sigma\mathop{d\epsilon} +--- + +The modulus of toughness is given by: + +$$ U_t = \int_{0}^{\epsilon_f}\sigma\mathop{d\epsilon} $$ + +Where + +* $ \small U_t $ is the modulus of toughness, +* $ \small \sigma $ is the stress, +* $ \small \epsilon $ is the strain, and +* $ \small \epsilon_f $ is the strain at fracture. + +Note that this is the area under the stress-strain curve up to the failure/fracture strain. See the sources for some geometric approximations for the modulus of toughness. + +## Sources + +- [Mechanicalc](https://mechanicalc.com/reference/mechanical-properties-of-materials#modulus-of-toughness) +- [Wikipedia](https://en.wikipedia.org/wiki/Toughness) + +## See also +- [Hooke's Law](/formulas/hookes-law-stress-strain/) +- [Modulus of Resilience](/formulas/modulus-of-resilience/) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/newtonian-momentum.mdx b/stemformulas-next/src/content/formulas/newtonian-momentum.mdx new file mode 100644 index 00000000..13281c6d --- /dev/null +++ b/stemformulas-next/src/content/formulas/newtonian-momentum.mdx @@ -0,0 +1,27 @@ +--- +title: "Momentum (Newtonian)" +description: "The momentum of a body in Newtonian mechanics" +summary: "The momentum of a body in Newtonian mechanics" +tags: ["physics", "mass", "velocity"] +date: 2022-12-08 +latex: p = mv +--- +$$p = mv$$ + +Where +* $p$ is the momentum of the body, +* $m$ is the mass of the body, and +* $v$ is the velocity of the body + +This formula relates the momentum of a body to its mass and velocity. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Momentum) +- [Hyperphysics](http://hyperphysics.phy-astr.gsu.edu/hbase/mom.html) + +## Example +Kevin throws a baseball with a mass of 0.5 kg at a speed of 5000000 m/s. What is the momentum of the baseball? + +We know that momentum is equal to mass times velocity, so we can plug in the values to get the answer. + +$$p = mv \Longrightarrow p = 0.5 \cdot 5000000 \Longrightarrow p = 2500000 \frac{kg \cdot m}{s}$$ diff --git a/stemformulas-next/src/content/formulas/newtons-2nd-law.mdx b/stemformulas-next/src/content/formulas/newtons-2nd-law.mdx new file mode 100644 index 00000000..4e4a06a6 --- /dev/null +++ b/stemformulas-next/src/content/formulas/newtons-2nd-law.mdx @@ -0,0 +1,26 @@ +--- +title: "Newton's 2nd Law" +description: "The law that describes the acceleration of an object in Newtonian mechanics." +summary: "The law that describes the acceleration of an object in Newtonian mechanics." +tags: ["physics", "mechanics"] +date: 2022-12-04 +latex: F = ma +--- +$$F = ma$$ + +Where +$F$ is the net force being applied to the object, +$m$ is the mass of the object, and +$a$ is the acceleration of the object. + +Newton's second law is a statement of Newtonian mechanics that the net force on a body is equal to the body's mass times its acceleration. + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Newton%27s_laws_of_motion) +- [Brittanica](https://www.britannica.com/science/Newtons-laws-of-motion/Newtons-second-law-F-ma) + +## Example +Kevin pushes his 10 kg brain across the floor with a force of 100 N. Friction pushes back against his brain statically +with 10 N of force. What is the acceleration of the brain? + +$$ F = ma \Longrightarrow a = \frac{F}{m} = \frac{100N - 10N}{10kg} = 9.8 m/s^2 $$ diff --git a/stemformulas-next/src/content/formulas/newtons-law-of-cooling.mdx b/stemformulas-next/src/content/formulas/newtons-law-of-cooling.mdx new file mode 100644 index 00000000..ad63f944 --- /dev/null +++ b/stemformulas-next/src/content/formulas/newtons-law-of-cooling.mdx @@ -0,0 +1,26 @@ +--- +title: Newton's Law of Cooling +description: "The formula describing Newton's Law of Cooling." +summary: "Newton's Law of Cooling." +tags: ["physics", "thermodynamics"] +date: 2023-08-01 +latex: \frac{dT}{dt} = -k(T - T_{\text{env}}) +--- + +Newton's law of Cooling says that the rate of change of temperature of an object is proportional to the difference between the object's temperature and the ambient temperature. + +It is given by: + +$$ \frac{dT}{dt} = -k(T - T_{\text{env}}) $$ + +Where + +* $ \frac{dT}{dt} $ is the rate of change of temperature with respect to time, +* $ T $ is the temperature of the object at time $ t $, +* $ T_{\text{env}} $ is the ambient (surrounding) temperature, and +* $ k $ is the cooling rate constant. + +## Sources + +- [BYJU'S](https://byjus.com/jee/newtons-law-of-cooling/) +- [Wikipedia](https://en.wikipedia.org/wiki/Newton%27s_law_of_cooling) diff --git a/stemformulas-next/src/content/formulas/ohms-law.mdx b/stemformulas-next/src/content/formulas/ohms-law.mdx new file mode 100644 index 00000000..1f4d7879 --- /dev/null +++ b/stemformulas-next/src/content/formulas/ohms-law.mdx @@ -0,0 +1,31 @@ +--- +title: "Ohm's Law" +description: "Ohm's law states that the current through a conductor between two points is directly proportional to the voltage across the two points." +summary: "Ohm's law states that the current through a conductor between two points is directly proportional to the voltage across the two points." +tags: ["physics", "electrical engineering"] +date: 2022-11-27 +latex: V = IR +--- + +Ohm's law is given by: + +$$V = IR$$ + +Where +$V$ is the voltage across the conductor (e.g. a wire), +$I$ is the current through the conductor, and +$R$ is the resistance of the conductor. + +Ohm's law states that the current through a conductor between two points is directly proportional to the voltage across the two points. - Wikipedia + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Ohm%27s_law) +- [HyperPhysics](http://hyperphysics.phy-astr.gsu.edu/hbase/electric/ohmlaw.html) + +## Example + +Kevin measures the current through a 10 ohm resistor to be 0.5 A. He measures the current with the resistor actually connected to the circuit (sorry Mr. Sidney). What is the voltage across the resistor? + +$$ V = IR \Longrightarrow V = 10 * 0.5 = 5V $$ + + diff --git a/stemformulas-next/src/content/formulas/pendulum-frequency-period.mdx b/stemformulas-next/src/content/formulas/pendulum-frequency-period.mdx new file mode 100644 index 00000000..4760407b --- /dev/null +++ b/stemformulas-next/src/content/formulas/pendulum-frequency-period.mdx @@ -0,0 +1,32 @@ +--- +title: Pendulum Period/Frequency +description: "The formula for the period and frequency of a simple pendulum." +summary: "The formula for the period of a simple pendulum." +tags: ["physics", "mechanics"] +date: 2025-01-04 +latex: T_p = 2 \pi \sqrt{\frac{\ell}{g}} +--- + +The formula for the period of a simple pendulum is: + +$$ T_p = 2 \pi \sqrt{\frac{\ell}{g}} $$ + +Where + +* $\small T_p$ is the period of oscillation, +* $\small \ell$ is the length of the pendulum, and +* $\small g$ is the acceleration due to gravity. + +The frequency of oscillation is the reciprocal of the period: + +$$ f_p = \frac{1}{2 \pi} \sqrt{\frac{g}{\ell}} $$ + +Where + +* $\small f_p$ is the frequency of oscillation. + +**Note:** These formulas use an approximation that assume small oscillations (small angles) and neglects air resistance, damping, and the mass of the string. + +## Sources + +- [LibreTexts Physics](https://phys.libretexts.org/Bookshelves/University_Physics/University_Physics_(OpenStax)/Book%3A_University_Physics_I_-_Mechanics_Sound_Oscillations_and_Waves_(OpenStax)/15%3A_Oscillations/15.05%3A_Pendulums) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/plane-equation.mdx b/stemformulas-next/src/content/formulas/plane-equation.mdx new file mode 100644 index 00000000..65659a76 --- /dev/null +++ b/stemformulas-next/src/content/formulas/plane-equation.mdx @@ -0,0 +1,42 @@ +--- +title: Equation of a Plane +description: "The equation of a plane formula." +summary: "The equation of a plane formula." +tags: ["geometry", "math"] +date: 2023-07-04 +latex: ax + by + cz = d +--- + +## Scalar Equation + +The scalar equation of a plane is: + +$$ ax + by + cz = d $$ + +Where + +* $ \small a, b, c $ are the components of the normal vector to the plane, and +* $ \small \small d $ is the smallest distance from the origin to the plane. + + +## Vector Equation + +The vector equation of a plane is: + +$$ (r - r_0 )\cdot n = 0 $$ + +Where + +* $ \small r $ represents a point on the plane, +* $ \small r_0 $ is a specific point on the plane (the position vector of a known point), +* $ \small n $ is the normal vector to the plane. + +What this equation says is that the plane is defined by all the position vectors that start on the plane that are perpendicular to the normal vector. + +The vector equation for the plane can be converted to the scalar equation by expanding the vectors $ \small n = (a, b, c)$, $ r = (x, y, z) $, and $ r_0 = (x_0, y_0, z_0) $ and then taking the dot product and grouping the constant terms into $ \small d $. + + +## Sources + +- [Paul's Online Math Notes](https://tutorial.math.lamar.edu/classes/calciii/eqnsofplanes.aspx) +- [Wikipedia](https://en.wikipedia.org/wiki/Euclidean_planes_in_three-dimensional_space#Point%E2%80%93normal_form_and_general_form_of_the_equation_of_a_plane) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/poissons-ratio.mdx b/stemformulas-next/src/content/formulas/poissons-ratio.mdx new file mode 100644 index 00000000..ea20f882 --- /dev/null +++ b/stemformulas-next/src/content/formulas/poissons-ratio.mdx @@ -0,0 +1,24 @@ +--- +title: Poisson's Ratio +description: "The Poisson's Ratio formula." +summary: "The Poisson's Ratio formula." +tags: ["physics", "material engineering"] +date: 2023-07-03 +latex: \nu = - \frac{\epsilon_x}{\epsilon_z} = -\frac{\epsilon_y}{\epsilon_z} +--- + +Poisson's Ratio is given by: + +$$ \nu = - \frac{\epsilon_x}{\epsilon_z} = -\frac{\epsilon_y}{\epsilon_z} $$ + +Where + +* $\small \nu $ is Poisson's Ratio, +* $\small \epsilon_x $ is the strain in the x-direction, +* $\small \epsilon_y $ is the strain in the y-direction, and +* $\small \epsilon_z $ is the strain in the z-direction. + +## Sources + +- [Wikipedia](https://en.wikipedia.org/wiki/Poisson%27s_ratio) +- [BYJU'S](https://byjus.com/physics/poissons-ratio/) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/preview.png b/stemformulas-next/src/content/formulas/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..a746aafdf44fa15a728c5d66248eb9a5b4346142 GIT binary patch literal 52972 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

ywZnrwAq@w|<-HPR%> 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

ymfkJO~(BBh_*i^i@d@2v-RU+ub_S6HZN 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 literal 0 HcmV?d00001 diff --git a/stemformulas-next/src/content/formulas/projection-and-perpendicular.mdx b/stemformulas-next/src/content/formulas/projection-and-perpendicular.mdx new file mode 100644 index 00000000..f37d89e1 --- /dev/null +++ b/stemformulas-next/src/content/formulas/projection-and-perpendicular.mdx @@ -0,0 +1,29 @@ +--- +title: "Vector Projection" +description: "Formulas for the projection of a vector onto another vector and the perpendicular vector left over." +summary: "Formulas for the projection of a vector onto another vector and the perpendicular vector left over." +tags: ["linear algebra", "vector", "math"] +date: 2023-01-01 +latex: proj_{\vec{b}}(\vec{a})=\frac{\vec{a}\cdot\vec{b}}{\|\vec{b}\|^2}\vec{b}=(\vec{a}\cdot\hat{b})\hat{b} +--- + +For any vectors $\small \vec{a}$ and $\small \vec{b}$: +![diagram-dont-css](projection.png) + +The projected (red) and perpendicular (green) vector can be calculated as follows: + +$$ proj_{\vec{b}}(\vec{a})=\frac{\vec{a}\cdot\vec{b}}{\|\vec{b}\|^2}\vec{b}=(\vec{a}\cdot\hat{b})\hat{b} $$ + +$$ perp_{\vec{b}}(\vec{a})=\vec{a}-proj_{\vec{b}}(\vec{a}) $$ + +Where +* $\small \vec{a}$ is the vector to be projected +* $\small \vec{b}$ is the vector to be projected onto +* $\cdot$ is the [dot product](/formulas/dot-product/) +* $\small \|\vec{b}\|^2$ is the [magnitude](https://en.wikipedia.org/wiki/Magnitude_(mathematics)#Euclidean_vector_space) of $\small \vec{b}$, squared +* $\small \hat{b}$ is the [unit vector](/formulas/unit-vector/) in the direction of $\small \vec{b}$ + + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Vector_projection) +- [The Organic Chemistry Tutor](https://www.youtube.com/watch?v=Rw70zkvqEiE) diff --git a/stemformulas-next/src/content/formulas/projection.png b/stemformulas-next/src/content/formulas/projection.png new file mode 100644 index 0000000000000000000000000000000000000000..40c64e818bc0927441f75097d70df1bde34d4ba7 GIT binary patch literal 54800 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

AU$~hQpFB|Rcvv8A2dgfLc{|y>;AM^ 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�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 jgVgwvqfYTS*N6oLuO>; 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 K)G5@m5B@)1=~UnV literal 0 HcmV?d00001 diff --git a/stemformulas-next/src/content/formulas/trig-angle-sum-difference-identities.mdx b/stemformulas-next/src/content/formulas/trig-angle-sum-difference-identities.mdx new file mode 100644 index 00000000..bd3dfd0b --- /dev/null +++ b/stemformulas-next/src/content/formulas/trig-angle-sum-difference-identities.mdx @@ -0,0 +1,23 @@ +--- +title: "Trig Angle Sum/Difference Identities" +description: "Formulas for the trigonometric functions of the sum and difference of angles." +summary: "Formulas for the trigonometric functions of the sum and difference of angles." +tags: ["trigonometry", "sin", "cos", "tan", "math", "identity"] +date: 2023-01-01 +latex: \scriptsize \sin(a \pm b) = \sin(a) \cos(b) \pm \cos(a) \sin(b) +--- + +For arbitrary angles $\small a$ and $\small b$, the following are true: + +$$ \sin(a + b) = \sin(a) \cos(b) + \cos(a) \sin(b) $$ +$$ \sin(a - b) = \sin(a) \cos(b) - \cos(a) \sin(b) $$ + +$$ \cos(a + b) = \cos(a) \cos(b) - \sin(a) \sin(b) $$ +$$ \cos(a - b) = \cos(a) \cos(b) + \sin(a) \sin(b) $$ + +$$ \tan(a + b) = \frac{\tan(a) + \tan(b)}{1 - \tan(a) \tan(b)} $$ +$$ \tan(a - b) = \frac{\tan(a) - \tan(b)}{1 + \tan(a) \tan(b)} $$ + +## Sources: +- [Wikipedia](https://en.wikipedia.org/wiki/List_of_trigonometric_identities#Angle_sum_and_difference_identities) +- [Byju's](https://byjus.com/maths/trigonometric-identities/) \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/trig-in-terms-of-e.mdx b/stemformulas-next/src/content/formulas/trig-in-terms-of-e.mdx new file mode 100644 index 00000000..37ebdbc9 --- /dev/null +++ b/stemformulas-next/src/content/formulas/trig-in-terms-of-e.mdx @@ -0,0 +1,18 @@ +--- +title: "Trig functions in terms of e" +description: "Common trig functions in terms of e" +summary: "Common trig functions in terms of e" +tags: ["math", "trigonometry", "e", "complex analysis", "imaginary numbers"] +date: 2022-11-28 +latex: \small{\sin(x) = \frac{e^{ix} - e^{-ix}}{2i}, \cos(x) = \frac{e^{ix} + e^{-ix}}{2}} +--- +$$\small \sin(x) = \frac{e^{ix} - e^{-ix}}{2i}, \cos(x) = \frac{e^{ix} + e^{-ix}}{2}, \tan(x) = \frac{e^{ix} - e^{-ix}}{i(e^{ix} + e^{-ix})}$$ + +Where +* $e$ is [Euler's number](https://en.wikipedia.org/wiki/E_(mathematical_constant)) ~= 2.71828, and +* $i$ is the imaginary unit, $\sqrt{-1}$ + +## Sources +- [Duke.edu](http://webhome.phy.duke.edu/~rgb/Class/phy51/phy51/node15.html) +- [ProofWiki](https://proofwiki.org/wiki/Tangent_Exponential_Formulation) + diff --git a/stemformulas-next/src/content/formulas/vector-calculus-product-rules.mdx b/stemformulas-next/src/content/formulas/vector-calculus-product-rules.mdx new file mode 100644 index 00000000..5a22b78d --- /dev/null +++ b/stemformulas-next/src/content/formulas/vector-calculus-product-rules.mdx @@ -0,0 +1,26 @@ +--- +title: Vector Calculus Product Rules +description: "The product rules in vector calculus." +summary: "The product rules in vector calculus." +tags: ["mathematics", "vector calculus"] +date: 2024-04-19 +latex: "\\nabla (fg) = f(\\nabla g) + g(\\nabla f)" +--- + +For scalar functions $\small f $ and $\small g $ and vector functions $\small \mathbf{A} $ and $\small \mathbf{B} $, the product rules in vector calculus are as follows: + +## Gradient +$$\small \nabla (fg) = f(\nabla g) + g(\nabla f) $$ +$$\small \nabla (\mathbf{A} \cdot \mathbf{B}) = \mathbf{A} \times (\nabla \times \mathbf{B}) + \mathbf{B} \times (\nabla \times \mathbf{A}) + (\mathbf{A} \cdot \nabla) \mathbf{B} + (\mathbf{B} \cdot \nabla) \mathbf{A} $$ + +## Divergence +$$\small \nabla \cdot (f \mathbf{A}) = f(\nabla \cdot \mathbf{A}) + \mathbf{A} \cdot (\nabla f) $$ +$$\small \nabla \cdot (\mathbf{A} \times \mathbf{B}) = \mathbf{B} \cdot (\nabla \times \mathbf{A}) - \mathbf{A} \cdot (\nabla \times \mathbf{B}) $$ + +## Curl +$$\small \nabla \times (f \mathbf{A}) = f(\nabla \times \mathbf{A}) + \mathbf{A} \times (\nabla f) $$ +$$\small \nabla \times (\mathbf{A} \times \mathbf{B}) = (\mathbf{B} \cdot \nabla) \mathbf{A} - (\mathbf{A} \cdot \nabla) \mathbf{B} + \mathbf{A} (\nabla \cdot \mathbf{B}) - \mathbf{B} (\nabla \cdot \mathbf{A}) $$ + +## Sources + +- [Griffith's Introduction to Electrodynamics](https://www.amazon.com/Introduction-Electrodynamics-David-J-Griffiths/dp/1108420419) diff --git a/stemformulas-next/src/content/formulas/viscosity.mdx b/stemformulas-next/src/content/formulas/viscosity.mdx new file mode 100644 index 00000000..c1ad4e74 --- /dev/null +++ b/stemformulas-next/src/content/formulas/viscosity.mdx @@ -0,0 +1,26 @@ +--- +title: Viscosity +description: "The relationship between viscosity and shear deformation rate in a fluid." +summary: "The relationship between viscosity and shear deformation rate in a fluid." +tags: ["physics", "fluid mechanics"] +date: 2024-02-07 +latex: \tau = \mu \frac{\partial u}{\partial y} +--- + +The formula relating viscosity and shear deformation rate in a fluid, also known as Newton's law of viscosity is given by the following equation: + +$$ \tau = \mu \frac{\partial u}{\partial y} $$ + +Where + +* $ \small \tau\ $ is the applied shear stress, +* $ \small \mu $ is the dynamic viscosity, with units of pressure $ \cdot $ time, +* $ \small \frac{\partial u}{\partial y} $ is shear deformation rate, and +* $ \small y $ is the perpendicular distance from the surface. + +In the case where velocity varies linearly with y, the equation simplifies to: + +$$ \tau = \mu \frac{u}{y} $$ + +## Sources +- [Wikipedia](https://en.wikipedia.org/wiki/Viscosity) From f178c90a28a6db2ef676e52c123be89b8e68a838 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Mon, 27 Jul 2026 00:24:50 -0700 Subject: [PATCH 03/16] formulas page, styling, --- stemformulas-next/package-lock.json | 109 ++++++++++++++++++ stemformulas-next/package.json | 1 + .../src/app/formulas/[slug]/page.module.css | 16 +++ .../src/app/formulas/[slug]/page.tsx | 14 ++- .../src/app/formulas/page.module.css | 46 ++++++++ stemformulas-next/src/app/formulas/page.tsx | 76 ++++++++++++ stemformulas-next/src/app/globals.css | 94 ++++++++++++--- .../src/content/formulas/bayes-theorem.mdx | 2 +- .../src/content/formulas/curl.mdx | 3 + .../src/content/formulas/determinant.mdx | 1 + .../formulas/eulers-identity-formula.mdx | 1 + .../src/content/formulas/feynmanns-trick.mdx | 1 + .../fundmantal-theorem-of-calculus.mdx | 1 + .../formulas/incompressible-navier-stokes.mdx | 6 + .../content/formulas/laplaces-equation.mdx | 2 + .../src/content/formulas/log-laws.mdx | 5 + .../formulas/lorentz-transformations.mdx | 3 + .../content/formulas/maxwells-equations.mdx | 9 ++ .../content/formulas/newtonian-momentum.mdx | 1 + .../src/content/formulas/newtons-2nd-law.mdx | 1 + .../content/formulas/pythagorean-theorem.mdx | 1 + .../content/formulas/quadratic-formula.mdx | 1 + .../src/content/formulas/quadric-surfaces.mdx | 1 + .../src/content/formulas/specific-gravity.mdx | 1 + .../formulas/taylor-expansion-of-e.mdx | 1 + .../trig-angle-sum-difference-identities.mdx | 3 + .../content/formulas/trig-in-terms-of-e.mdx | 1 + .../vector-calculus-product-rules.mdx | 6 + 28 files changed, 381 insertions(+), 26 deletions(-) create mode 100644 stemformulas-next/src/app/formulas/page.module.css create mode 100644 stemformulas-next/src/app/formulas/page.tsx diff --git a/stemformulas-next/package-lock.json b/stemformulas-next/package-lock.json index 5b250ea3..96fb36d6 100644 --- a/stemformulas-next/package-lock.json +++ b/stemformulas-next/package-lock.json @@ -8,6 +8,7 @@ "name": "stemformulas-next", "version": "0.1.0", "dependencies": { + "gray-matter": "^4.0.3", "next": "16.2.12", "next-mdx-remote": "^6.0.0", "react": "19.2.4", @@ -3588,6 +3589,19 @@ "url": "https://opencollective.com/eslint" } }, + "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==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/esquery": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", @@ -3731,6 +3745,18 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "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", @@ -4062,6 +4088,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz", + "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -4635,6 +4698,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5064,6 +5136,15 @@ "json-buffer": "3.0.1" } }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/language-subtag-registry": { "version": "0.3.23", "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", @@ -6943,6 +7024,19 @@ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -7187,6 +7281,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, "node_modules/stable-hash": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", @@ -7346,6 +7446,15 @@ "node": ">=4" } }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "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", diff --git a/stemformulas-next/package.json b/stemformulas-next/package.json index 016b3aad..2d9d3008 100644 --- a/stemformulas-next/package.json +++ b/stemformulas-next/package.json @@ -9,6 +9,7 @@ "lint": "eslint" }, "dependencies": { + "gray-matter": "^4.0.3", "next": "16.2.12", "next-mdx-remote": "^6.0.0", "react": "19.2.4", diff --git a/stemformulas-next/src/app/formulas/[slug]/page.module.css b/stemformulas-next/src/app/formulas/[slug]/page.module.css index b30f6203..9b97b7c7 100644 --- a/stemformulas-next/src/app/formulas/[slug]/page.module.css +++ b/stemformulas-next/src/app/formulas/[slug]/page.module.css @@ -3,6 +3,15 @@ margin-bottom: 0; } +.title { + font-size: 2.25rem; + font-weight: 800; + line-height: 2.5rem; + color: var(--color-neutral-900); + margin: 0; + padding: 0; +} + .articleLayout { display: flex; flex-direction: column; @@ -73,6 +82,13 @@ } .tags { + margin: 1rem 0; + font-size: 1rem; + line-height: 1.5rem; + color: var(--color-neutral-500); +} + +.tagsInner { margin: 0.5rem 0; font-size: 0.75rem; color: var(--color-neutral-500); diff --git a/stemformulas-next/src/app/formulas/[slug]/page.tsx b/stemformulas-next/src/app/formulas/[slug]/page.tsx index 35f0f343..a9efee3d 100644 --- a/stemformulas-next/src/app/formulas/[slug]/page.tsx +++ b/stemformulas-next/src/app/formulas/[slug]/page.tsx @@ -77,14 +77,16 @@ export default async function FormulaPage({ return (

-

{formula.frontmatter.title}

+

{formula.frontmatter.title}

{formula.frontmatter.tags && formula.frontmatter.tags.length > 0 && (
- {formula.frontmatter.tags.map((tag) => ( - - {tag} - - ))} +
+ {formula.frontmatter.tags.map((tag) => ( + + {tag} + + ))} +
)}
diff --git a/stemformulas-next/src/app/formulas/page.module.css b/stemformulas-next/src/app/formulas/page.module.css new file mode 100644 index 00000000..ce77c8b2 --- /dev/null +++ b/stemformulas-next/src/app/formulas/page.module.css @@ -0,0 +1,46 @@ +.heading { + font-size: 2.25rem; + font-weight: 800; + margin-top: 0; +} + +.subtitle { + margin-top: 0.5rem; + font-size: 0.875rem; + color: var(--color-neutral-900); +} + +.grid { + margin-top: 1.5rem; +} + +.card { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 0.25rem; + border: 1px solid darkgray; + border-radius: 12px; + padding: 0.75rem; + overflow: hidden; + text-decoration: none; + color: inherit; + max-width: 100%; +} + +.card:hover { + background: var(--color-primary-100); +} + +.cardTitle { + font-size: 1.125rem; + font-weight: 600; + text-align: center; + color: var(--color-neutral-800); +} + +.cardLatex { + font-size: 0.8125rem; + color: var(--color-neutral-500); +} diff --git a/stemformulas-next/src/app/formulas/page.tsx b/stemformulas-next/src/app/formulas/page.tsx new file mode 100644 index 00000000..7bf40812 --- /dev/null +++ b/stemformulas-next/src/app/formulas/page.tsx @@ -0,0 +1,76 @@ +import fs from "fs"; +import path from "path"; +import Link from "next/link"; +import katex from "katex"; +import matter from "gray-matter"; +import styles from "./page.module.css"; + +interface FormulaMeta { + slug: string; + title: string; + latex: string; +} + +function getFormulas(): FormulaMeta[] { + const dir = path.join(process.cwd(), "src/content/formulas"); + const files = fs.readdirSync(dir).filter((f) => f.endsWith(".mdx")); + + return files.map((file) => { + const slug = file.replace(".mdx", ""); + const source = fs.readFileSync(path.join(dir, file), "utf-8"); + const { data } = matter(source); + return { + slug, + title: data.title || slug, + latex: data.latex || "", + }; + }); +} + +export default function FormulasPage() { + const formulas = getFormulas(); + + return ( + <> +
+

formulas

+
+ +

+ Click on any formula to visit its page for more details. +

+ +
+ {formulas.map((formula) => { + let renderedLatex = ""; + if (formula.latex) { + try { + renderedLatex = katex.renderToString(formula.latex, { + throwOnError: false, + displayMode: true, + }); + } catch { + renderedLatex = formula.latex; + } + } + + return ( + +

{formula.title}

+ {renderedLatex && ( +
+ )} + + ); + })} +
+ + ); +} diff --git a/stemformulas-next/src/app/globals.css b/stemformulas-next/src/app/globals.css index 460ea211..77ca32a4 100644 --- a/stemformulas-next/src/app/globals.css +++ b/stemformulas-next/src/app/globals.css @@ -9,6 +9,7 @@ --color-neutral-700: #374151; --color-neutral-800: #1f2937; --color-neutral-900: #111827; + --color-primary-100: #f1f5f9; --color-primary-500: #64748b; --color-primary-600: #475569; --color-primary-700: #334155; @@ -27,7 +28,7 @@ body { padding: 0 1.5rem; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; - font-size: 1.125rem; + font-size: 1rem; line-height: 1.75rem; color: var(--color-neutral-900); background: #fff; @@ -35,10 +36,34 @@ body { -webkit-font-smoothing: antialiased; } +@media (min-width: 640px) { + body { + padding: 0 3.5rem; + } +} + +@media (min-width: 768px) { + body { + padding: 0 6rem; + } +} + +@media (min-width: 1024px) { + body { + padding: 0 8rem; + } +} + * { box-sizing: border-box; } +article, +header, +section { + margin: 0; +} + a { color: inherit; text-decoration: none; @@ -165,28 +190,40 @@ a { max-width: 65ch; } -.prose h1 { - font-size: 2.25rem; - font-weight: 800; - color: var(--color-neutral-900); +.prose h2 { + font-size: 1.5em; + font-weight: 700; + line-height: 1.3333; + margin-top: 2em; + margin-bottom: 1em; +} + +.prose h3 { + font-size: 1.25em; + font-weight: 600; + line-height: 1.6; + margin-top: 1.6em; + margin-bottom: 0.6em; +} + +.prose > :first-child { margin-top: 0; } -.prose h2 { - font-size: 1.5rem; - font-weight: 700; - margin-top: 2rem; - margin-bottom: 0.75rem; +.prose > :last-child { + margin-bottom: 0; } .prose p { - margin-bottom: 1rem; + margin-top: 1.25em; + margin-bottom: 1.25em; } .prose ul, .prose ol { - padding-left: 1.5rem; - margin-bottom: 1rem; + padding-left: 1.625em; + margin-top: 1.25em; + margin-bottom: 1.25em; } .prose ul { @@ -198,7 +235,12 @@ a { } .prose li { - margin-bottom: 0.25rem; + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +.prose li > p { + margin: 0; } .prose a { @@ -222,6 +264,11 @@ a { width: 400px; } +.prose iframe { + max-width: 100%; + border-radius: 0.375rem; +} + .prose blockquote { border-left: 4px solid var(--color-neutral-300); padding-left: 1rem; @@ -332,14 +379,23 @@ a { } /* ── KaTeX ── */ -.katex-html { +/* Display math:

containing only a .katex element */ +p:has(> .katex:first-child:last-child) { + display: block; + margin: 1em 0; + text-align: center; font-size: 1.2em; - color: #000; } -.katex-display > .katex { - padding-left: 0.5em !important; +p:has(> .katex:first-child:last-child) .katex { + display: inline-block; text-align: left; + font-size: 1.21em; +} + +.katex-html { + font-size: 1.2em; + color: #000; } .katex { @@ -350,7 +406,7 @@ a { .grid-container { display: grid; grid-template-columns: 1fr; - gap: 15px; + gap: 12px; } @media (min-width: 640px) { diff --git a/stemformulas-next/src/content/formulas/bayes-theorem.mdx b/stemformulas-next/src/content/formulas/bayes-theorem.mdx index c66cc754..f68e6866 100644 --- a/stemformulas-next/src/content/formulas/bayes-theorem.mdx +++ b/stemformulas-next/src/content/formulas/bayes-theorem.mdx @@ -30,7 +30,7 @@ Where $\small \neg A$ is the complement of $\small A$. This video by 3Blue1Brown was the single biggest help in my understanding of Bayes' Theorem, you should definitely watch it if you're struggling to understand it: -{{< youtube id="HZGCoVF3YvM" >}} + ## Sources diff --git a/stemformulas-next/src/content/formulas/curl.mdx b/stemformulas-next/src/content/formulas/curl.mdx index d189c2ca..bc032fa2 100644 --- a/stemformulas-next/src/content/formulas/curl.mdx +++ b/stemformulas-next/src/content/formulas/curl.mdx @@ -15,6 +15,7 @@ In cartesian coordinates, the curl of a vector field $ \small \mathbf{F} $ is gi $$ \nabla \times \mathbf{F} = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\\\ \frac{\partial}{\partial x} & \frac{\partial}{\partial y} & \frac{\partial}{\partial z} \\\\ F_x & F_y & F_z \end{vmatrix} + $$ Where: @@ -35,6 +36,7 @@ In cylindrical coordinates, the curl of a vector field $ \small \mathbf{F} $ is $$ \nabla \times \mathbf{F} = \left( \frac{1}{\rho} \frac{\partial F_z}{\partial \varphi} - \frac{\partial F_\varphi}{\partial z} \right) \hat{\rho} + \left( \frac{\partial F_\rho}{\partial z} - \frac{\partial F_z}{\partial \rho} \right) \hat{\varphi} + \frac{1}{\rho} \left( \frac{\partial}{\partial \rho} \left( \rho F_\varphi \right) - \frac{\partial F_\rho}{\partial \varphi} \right) \hat{z} + $$ Where: @@ -48,6 +50,7 @@ In spherical coordinates, the curl of a vector field $ \small \mathbf{F} $ is gi $$ \nabla \times \mathbf{F} = \frac{1}{r \sin \theta} \left( \frac{\partial (\sin \theta F\_\varphi)}{\partial \theta} - \frac{\partial F\_\theta}{\partial \varphi} \right) \hat{r} + \frac{1}{r} \left( \frac{1}{\sin \theta} \frac{\partial F\_r}{\partial \varphi} - \frac{\partial (r F_\varphi)}{\partial r} \right) \hat{\theta} + \frac{1}{r} \left( \frac{\partial (r F\_\theta)}{\partial r} - \frac{\partial F\_r}{\partial \theta} \right) \hat{\varphi} + $$ Where: diff --git a/stemformulas-next/src/content/formulas/determinant.mdx b/stemformulas-next/src/content/formulas/determinant.mdx index eea2f2b4..c29f8692 100644 --- a/stemformulas-next/src/content/formulas/determinant.mdx +++ b/stemformulas-next/src/content/formulas/determinant.mdx @@ -14,6 +14,7 @@ $$ \det\begin{bmatrix}\\ c & d\\\\ \end{bmatrix}=ad-cb $$ + $$\det\begin{bmatrix} a & b & c\\\\ d & e & f\\\\ diff --git a/stemformulas-next/src/content/formulas/eulers-identity-formula.mdx b/stemformulas-next/src/content/formulas/eulers-identity-formula.mdx index 86bb28cc..22a04dfb 100644 --- a/stemformulas-next/src/content/formulas/eulers-identity-formula.mdx +++ b/stemformulas-next/src/content/formulas/eulers-identity-formula.mdx @@ -7,6 +7,7 @@ date: 2022-11-28 latex: e^{i\pi} = -1 --- ## Euler's Identity + $$e^{i\pi} = -1$$ Where diff --git a/stemformulas-next/src/content/formulas/feynmanns-trick.mdx b/stemformulas-next/src/content/formulas/feynmanns-trick.mdx index 415e649f..39e09954 100644 --- a/stemformulas-next/src/content/formulas/feynmanns-trick.mdx +++ b/stemformulas-next/src/content/formulas/feynmanns-trick.mdx @@ -7,6 +7,7 @@ date: 2023-03-16 latex: \int_0^{\infty} x^n e^{-tx} dx = \frac{n!}{t^{n+1}} --- ## Feynmann's Trick For Exponential Integrals + $$\int_0^{\infty} x^n e^{-tx} dx = \frac{n!}{t^{n+1}}$$ Where diff --git a/stemformulas-next/src/content/formulas/fundmantal-theorem-of-calculus.mdx b/stemformulas-next/src/content/formulas/fundmantal-theorem-of-calculus.mdx index 6f3aa55d..3a1f6a86 100644 --- a/stemformulas-next/src/content/formulas/fundmantal-theorem-of-calculus.mdx +++ b/stemformulas-next/src/content/formulas/fundmantal-theorem-of-calculus.mdx @@ -6,6 +6,7 @@ tags: ["math", "calculus"] date: 2022-12-23 latex: \int_a^b f(x) dx = F(b) - F(a) --- + $$\int_a^b f(x) dx = F(b) - F(a)$$ Where diff --git a/stemformulas-next/src/content/formulas/incompressible-navier-stokes.mdx b/stemformulas-next/src/content/formulas/incompressible-navier-stokes.mdx index c5f1af67..8de1064e 100644 --- a/stemformulas-next/src/content/formulas/incompressible-navier-stokes.mdx +++ b/stemformulas-next/src/content/formulas/incompressible-navier-stokes.mdx @@ -14,15 +14,19 @@ The incompressible Navier-Stokes equations are a simpler form of the [Navier-St For cartesian coordinates $ \small x, y, z $ and time $ \small t $, the incompressible Navier-Stokes equations are: ### Continuity Equation + $$ \frac{\partial u}{\partial x} + \frac{\partial v}{\partial y} + \frac{\partial w}{\partial z} = 0 $$ ### X-momentum Equation + $$ \rho \left(\frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} + v \frac{\partial u}{\partial y} + w \frac{\partial u}{\partial z}\right) = - \frac{\partial P}{\partial x} + \mu \left( \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2} \right) + \rho g_x$$ ### Y-momentum Equation + $$ \rho \left(\frac{\partial v}{\partial t} + u \frac{\partial v}{\partial x} + v \frac{\partial v}{\partial y} + w \frac{\partial v}{\partial z}\right) = - \frac{\partial P}{\partial y} + \mu \left( \frac{\partial^2 v}{\partial x^2} + \frac{\partial^2 v}{\partial y^2} + \frac{\partial^2 v}{\partial z^2} \right) + \rho g_y$$ ### Z-momentum Equation + $$ \rho \left(\frac{\partial w}{\partial t} + u \frac{\partial w}{\partial x} + v \frac{\partial w}{\partial y} + w \frac{\partial w}{\partial z}\right) = - \frac{\partial P}{\partial z} + \mu \left( \frac{\partial^2 w}{\partial x^2} + \frac{\partial^2 w}{\partial y^2} + \frac{\partial^2 w}{\partial z^2} \right) + \rho g_z$$ Where @@ -37,9 +41,11 @@ Where For cylindrical coordinates $ \small r, \theta, z $ and time $ \small t $, the incompressible Navier-Stokes equations are: ### Continuity Equation + $$ \frac{1}{r} \frac{\partial (r u_r)}{\partial r} + \frac{1}{r} \frac{\partial (u_{\theta})}{\partial \theta} + \frac{\partial (u_{z})}{\partial z} = 0 $$ ### R-component + $$ \rho \left(\frac{\partial u_r}{\partial t} + u_r \frac{\partial u_r}{\partial r} + \frac{u_{\theta}}{r} \frac{\partial u_r}{\partial \theta} - \frac{u_{\theta}^2}{r} + u_z \frac{\partial u_r}{\partial z} \right) = - \frac{\partial P}{\partial r} + \rho g_r+ \mu \left[ \frac{1}{r} \frac{\partial}{\partial r} \left(r \frac{\partial u_r}{\partial r}\right) - \frac{u_r}{r^2} + \frac{1}{r^2} \frac{\partial^2 u_r}{\partial \theta^2} -\frac{2}{r^2} \frac{\partial u_{\theta}}{\partial \theta} + \frac{\partial^2 u_r}{\partial z^2} \right] $$ ### $\small \theta$-component diff --git a/stemformulas-next/src/content/formulas/laplaces-equation.mdx b/stemformulas-next/src/content/formulas/laplaces-equation.mdx index f1888afe..6b70b519 100644 --- a/stemformulas-next/src/content/formulas/laplaces-equation.mdx +++ b/stemformulas-next/src/content/formulas/laplaces-equation.mdx @@ -22,9 +22,11 @@ Where $$ \scriptsize \nabla^2 f = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2} + \frac{\partial^2 f}{\partial z^2} = 0$$ #### In cylindrical coordinates: + $$ \scriptsize \nabla^2 f = \frac{1}{r} \frac{\partial}{\partial r} \left( r \frac{\partial f}{\partial r} \right) + \frac{1}{r^2} \frac{\partial^2 f}{\partial \phi^2} + \frac{\partial^2 f}{\partial z^2} = 0$$ #### In spherical coordinates: + $$ \scriptsize \nabla^2 f = \frac{1}{r^2} \frac{\partial}{\partial r} \left( r^2 \frac{\partial f}{\partial r} \right) + \frac{1}{r^2 \sin \theta} \frac{\partial}{\partial \theta} \left( \sin \theta \frac{\partial f}{\partial \theta} \right) + \frac{1}{r^2 \sin^2 \theta}\frac{\partial^2 f}{\partial \varphi^2} = 0$$ ## Sources diff --git a/stemformulas-next/src/content/formulas/log-laws.mdx b/stemformulas-next/src/content/formulas/log-laws.mdx index 177b8eaf..dd3b5eaa 100644 --- a/stemformulas-next/src/content/formulas/log-laws.mdx +++ b/stemformulas-next/src/content/formulas/log-laws.mdx @@ -13,10 +13,15 @@ Logarithms are the inverse of exponentials. They are useful for solving equation For any positive real number $ \small b \neq 1 $, and positive real numbers $ \small a $, and $ \small c $, the following properties hold: $$ \log_b(1) = 0 $$ + $$ \log_b(b) = 1 $$ + $$ \log_b(a \cdot c) = \log_b(a) + \log_b(c) $$ + $$ \log_b \left(\frac{a}{c} \right) = \log_b(a) - \log_b(c) $$ + $$ \log_b(a^c) = c \cdot \log_b(a) $$ + $$ b^{\log_b(k)} = k $$ Note that $ k $ can be any real number in the last equation. diff --git a/stemformulas-next/src/content/formulas/lorentz-transformations.mdx b/stemformulas-next/src/content/formulas/lorentz-transformations.mdx index 363953f5..4287cd1b 100644 --- a/stemformulas-next/src/content/formulas/lorentz-transformations.mdx +++ b/stemformulas-next/src/content/formulas/lorentz-transformations.mdx @@ -10,8 +10,11 @@ latex: x' = \frac{x-vt}{\sqrt{1-v^2/c^2}} For a fixed frame of reference $\small x, y, z, t$, the following transformations can be used to transform to a frame of reference moving with velocity $\small v$ with respect to the fixed frame: $$\small x' = \frac{x-vt}{\sqrt{1-v^2/c^2}}$$ + $$ \small y' = y$$ + $$ \small z' = z$$ + $$ \small t' = \frac{t-vx/c^2}{\sqrt{1-v^2/c^2}}$$ Where diff --git a/stemformulas-next/src/content/formulas/maxwells-equations.mdx b/stemformulas-next/src/content/formulas/maxwells-equations.mdx index 0eaeb4fe..3d456319 100644 --- a/stemformulas-next/src/content/formulas/maxwells-equations.mdx +++ b/stemformulas-next/src/content/formulas/maxwells-equations.mdx @@ -36,8 +36,11 @@ Respectively, these equations are Gauss's Law, Gauss's Law for Magnetism, Farada In a vacuum (where there is no charge or current), these simplify to: $$ \nabla \cdot \mathbf{E} = 0 $$ + $$ \nabla \cdot \mathbf{B} = 0 $$ + $$ \nabla \times \mathbf{E} = - \frac{\partial \mathbf{B}}{\partial t}$$ + $$ \nabla \times \mathbf{B} = \mu\_0 \varepsilon\_0 \frac{\partial \mathbf{E}}{\partial t} $$ @@ -46,8 +49,11 @@ $$ \nabla \times \mathbf{B} = \mu\_0 \varepsilon\_0 \frac{\partial \mathbf{E}}{\ In integral form, Maxwell's equations are given by: $$ \oiint\_{\partial \Omega} \mathbf{E} \cdot d\mathbf{S} = \frac{Q}{\varepsilon\_0} = \frac{1}{\varepsilon\_0}\iiint_{\Omega} \rho \ dV $$ + $$ \oiint\_{\partial \Omega} \mathbf{B} \cdot d\mathbf{S} = 0 $$ + $$ \oint\_{\partial \Sigma} \mathbf{E} \cdot d\mathbf{l} = - \frac{\text{d}}{\text{d} t} \iint\_{\Sigma} \mathbf{B} \cdot d\mathbf{S} $$ + $$ \oint\_{\partial \Sigma} \mathbf{B} \cdot d\mathbf{l} = \mu\_0 \iint\_{\Sigma} \mathbf{J} \cdot d\mathbf{S} + \mu\_0 \varepsilon\_0 \frac{\text{d}}{\text{d} t} \iint\_{\Sigma} \mathbf{E} \cdot d\mathbf{S} $$ Where: @@ -68,8 +74,11 @@ Where: In a vacuum (where there is no charge or current), these simplify to: $$ \oiint\_{\partial \Omega} \mathbf{E} \cdot d\mathbf{S} = 0 $$ + $$ \oiint\_{\partial \Omega} \mathbf{B} \cdot d\mathbf{S} = 0 $$ + $$ \oint\_{\partial \Sigma} \mathbf{E} \cdot d\mathbf{l} = - \frac{\text{d}}{\text{d} t} \iint\_{\Sigma} \mathbf{B} \cdot d\mathbf{S} $$ + $$ \oint\_{\partial \Sigma} \mathbf{B} \cdot d\mathbf{l} = \mu\_0 \varepsilon\_0 \frac{\text{d}}{\text{d} t} \iint\_{\Sigma} \mathbf{E} \cdot d\mathbf{S} $$ ## Sources diff --git a/stemformulas-next/src/content/formulas/newtonian-momentum.mdx b/stemformulas-next/src/content/formulas/newtonian-momentum.mdx index 13281c6d..dbd92f24 100644 --- a/stemformulas-next/src/content/formulas/newtonian-momentum.mdx +++ b/stemformulas-next/src/content/formulas/newtonian-momentum.mdx @@ -6,6 +6,7 @@ tags: ["physics", "mass", "velocity"] date: 2022-12-08 latex: p = mv --- + $$p = mv$$ Where diff --git a/stemformulas-next/src/content/formulas/newtons-2nd-law.mdx b/stemformulas-next/src/content/formulas/newtons-2nd-law.mdx index 4e4a06a6..45432d80 100644 --- a/stemformulas-next/src/content/formulas/newtons-2nd-law.mdx +++ b/stemformulas-next/src/content/formulas/newtons-2nd-law.mdx @@ -6,6 +6,7 @@ tags: ["physics", "mechanics"] date: 2022-12-04 latex: F = ma --- + $$F = ma$$ Where diff --git a/stemformulas-next/src/content/formulas/pythagorean-theorem.mdx b/stemformulas-next/src/content/formulas/pythagorean-theorem.mdx index c751d469..6995aaa2 100644 --- a/stemformulas-next/src/content/formulas/pythagorean-theorem.mdx +++ b/stemformulas-next/src/content/formulas/pythagorean-theorem.mdx @@ -9,6 +9,7 @@ latex: a^2 + b^2 = c^2 For any right triangle *abc* (see diagram below): The lengths of the sides are related by the Pythagorean Theorem: + $$a^2 + b^2 = c^2$$ ![diagram](triangle.png) diff --git a/stemformulas-next/src/content/formulas/quadratic-formula.mdx b/stemformulas-next/src/content/formulas/quadratic-formula.mdx index 679e8ae5..a040b4e2 100644 --- a/stemformulas-next/src/content/formulas/quadratic-formula.mdx +++ b/stemformulas-next/src/content/formulas/quadratic-formula.mdx @@ -6,6 +6,7 @@ tags: ["math", "algebra"] date: 2022-12-06 latex: x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} --- + $$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$ Where diff --git a/stemformulas-next/src/content/formulas/quadric-surfaces.mdx b/stemformulas-next/src/content/formulas/quadric-surfaces.mdx index 28eeff9a..d67ecb8b 100644 --- a/stemformulas-next/src/content/formulas/quadric-surfaces.mdx +++ b/stemformulas-next/src/content/formulas/quadric-surfaces.mdx @@ -29,6 +29,7 @@ $$ {x^2 \over a^2} - {y^2 \over b^2} = z $$ The equation of a hyperboloid of one sheet is: + $$ {x^2 \over a^2} + {y^2 \over b^2} - {z^2 \over c^2} = 1 $$ ## Hyperboloid of two sheets: diff --git a/stemformulas-next/src/content/formulas/specific-gravity.mdx b/stemformulas-next/src/content/formulas/specific-gravity.mdx index df345911..d8f52ecd 100644 --- a/stemformulas-next/src/content/formulas/specific-gravity.mdx +++ b/stemformulas-next/src/content/formulas/specific-gravity.mdx @@ -8,6 +8,7 @@ latex: SG = \frac{\rho}{\rho_{H_2O}} --- The specific gravity of a substance is the dimensionless ratio of its density to the density of water: + $$ SG = \frac{\rho}{\rho_{H_2O}} $$ Where diff --git a/stemformulas-next/src/content/formulas/taylor-expansion-of-e.mdx b/stemformulas-next/src/content/formulas/taylor-expansion-of-e.mdx index 65ee1d49..c067559c 100644 --- a/stemformulas-next/src/content/formulas/taylor-expansion-of-e.mdx +++ b/stemformulas-next/src/content/formulas/taylor-expansion-of-e.mdx @@ -6,6 +6,7 @@ tags: ["math", "calculus"] date: 2022-12-08 latex: e^x = \sum_{n=0}^\infty \frac{x^n}{n!} --- + $$e^x = \sum_{n=0}^\infty \frac{x^n}{n!}$$ Where diff --git a/stemformulas-next/src/content/formulas/trig-angle-sum-difference-identities.mdx b/stemformulas-next/src/content/formulas/trig-angle-sum-difference-identities.mdx index bd3dfd0b..2d5bfa40 100644 --- a/stemformulas-next/src/content/formulas/trig-angle-sum-difference-identities.mdx +++ b/stemformulas-next/src/content/formulas/trig-angle-sum-difference-identities.mdx @@ -10,12 +10,15 @@ latex: \scriptsize \sin(a \pm b) = \sin(a) \cos(b) \pm \cos(a) \sin(b) For arbitrary angles $\small a$ and $\small b$, the following are true: $$ \sin(a + b) = \sin(a) \cos(b) + \cos(a) \sin(b) $$ + $$ \sin(a - b) = \sin(a) \cos(b) - \cos(a) \sin(b) $$ $$ \cos(a + b) = \cos(a) \cos(b) - \sin(a) \sin(b) $$ + $$ \cos(a - b) = \cos(a) \cos(b) + \sin(a) \sin(b) $$ $$ \tan(a + b) = \frac{\tan(a) + \tan(b)}{1 - \tan(a) \tan(b)} $$ + $$ \tan(a - b) = \frac{\tan(a) - \tan(b)}{1 + \tan(a) \tan(b)} $$ ## Sources: diff --git a/stemformulas-next/src/content/formulas/trig-in-terms-of-e.mdx b/stemformulas-next/src/content/formulas/trig-in-terms-of-e.mdx index 37ebdbc9..b64ca78e 100644 --- a/stemformulas-next/src/content/formulas/trig-in-terms-of-e.mdx +++ b/stemformulas-next/src/content/formulas/trig-in-terms-of-e.mdx @@ -6,6 +6,7 @@ tags: ["math", "trigonometry", "e", "complex analysis", "imaginary numbers"] date: 2022-11-28 latex: \small{\sin(x) = \frac{e^{ix} - e^{-ix}}{2i}, \cos(x) = \frac{e^{ix} + e^{-ix}}{2}} --- + $$\small \sin(x) = \frac{e^{ix} - e^{-ix}}{2i}, \cos(x) = \frac{e^{ix} + e^{-ix}}{2}, \tan(x) = \frac{e^{ix} - e^{-ix}}{i(e^{ix} + e^{-ix})}$$ Where diff --git a/stemformulas-next/src/content/formulas/vector-calculus-product-rules.mdx b/stemformulas-next/src/content/formulas/vector-calculus-product-rules.mdx index 5a22b78d..f623daf1 100644 --- a/stemformulas-next/src/content/formulas/vector-calculus-product-rules.mdx +++ b/stemformulas-next/src/content/formulas/vector-calculus-product-rules.mdx @@ -10,15 +10,21 @@ latex: "\\nabla (fg) = f(\\nabla g) + g(\\nabla f)" For scalar functions $\small f $ and $\small g $ and vector functions $\small \mathbf{A} $ and $\small \mathbf{B} $, the product rules in vector calculus are as follows: ## Gradient + $$\small \nabla (fg) = f(\nabla g) + g(\nabla f) $$ + $$\small \nabla (\mathbf{A} \cdot \mathbf{B}) = \mathbf{A} \times (\nabla \times \mathbf{B}) + \mathbf{B} \times (\nabla \times \mathbf{A}) + (\mathbf{A} \cdot \nabla) \mathbf{B} + (\mathbf{B} \cdot \nabla) \mathbf{A} $$ ## Divergence + $$\small \nabla \cdot (f \mathbf{A}) = f(\nabla \cdot \mathbf{A}) + \mathbf{A} \cdot (\nabla f) $$ + $$\small \nabla \cdot (\mathbf{A} \times \mathbf{B}) = \mathbf{B} \cdot (\nabla \times \mathbf{A}) - \mathbf{A} \cdot (\nabla \times \mathbf{B}) $$ ## Curl + $$\small \nabla \times (f \mathbf{A}) = f(\nabla \times \mathbf{A}) + \mathbf{A} \times (\nabla f) $$ + $$\small \nabla \times (\mathbf{A} \times \mathbf{B}) = (\mathbf{B} \cdot \nabla) \mathbf{A} - (\mathbf{A} \cdot \nabla) \mathbf{B} + \mathbf{A} (\nabla \cdot \mathbf{B}) - \mathbf{B} (\nabla \cdot \mathbf{A}) $$ ## Sources From 820e69fc3cdd223ff020947b4330ebb5066cd471 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Mon, 27 Jul 2026 00:32:14 -0700 Subject: [PATCH 04/16] style --- stemformulas-next/src/app/formulas/page.module.css | 4 ++-- stemformulas-next/src/app/formulas/page.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/stemformulas-next/src/app/formulas/page.module.css b/stemformulas-next/src/app/formulas/page.module.css index ce77c8b2..87f2b7b6 100644 --- a/stemformulas-next/src/app/formulas/page.module.css +++ b/stemformulas-next/src/app/formulas/page.module.css @@ -19,10 +19,10 @@ flex-direction: column; align-items: center; justify-content: center; - gap: 0.25rem; + gap: 0.125rem; border: 1px solid darkgray; border-radius: 12px; - padding: 0.75rem; + padding: 0.5rem 0.75rem; overflow: hidden; text-decoration: none; color: inherit; diff --git a/stemformulas-next/src/app/formulas/page.tsx b/stemformulas-next/src/app/formulas/page.tsx index 7bf40812..41a21d56 100644 --- a/stemformulas-next/src/app/formulas/page.tsx +++ b/stemformulas-next/src/app/formulas/page.tsx @@ -60,7 +60,7 @@ export default function FormulasPage() { href={`/formulas/${formula.slug}`} className={styles.card} > -

{formula.title}

+ {formula.title} {renderedLatex && (
Date: Mon, 27 Jul 2026 00:40:29 -0700 Subject: [PATCH 05/16] home page, search, more styling --- stemformulas-next/package-lock.json | 14 ++ stemformulas-next/package.json | 1 + .../src/app/api/search-index/route.ts | 6 + .../src/app/formulas/page.module.css | 2 +- stemformulas-next/src/app/globals.css | 3 +- stemformulas-next/src/app/layout.tsx | 29 +--- stemformulas-next/src/app/page.tsx | 65 +-------- stemformulas-next/src/components/Header.tsx | 80 +++++++++++ .../src/components/HomeSearch.tsx | 123 +++++++++++++++++ stemformulas-next/src/components/Search.tsx | 128 ++++++++++++++++++ .../src/components/home.module.css | 124 +++++++++++++++++ .../src/components/search.module.css | 124 +++++++++++++++++ stemformulas-next/src/lib/formulas.ts | 32 +++++ 13 files changed, 639 insertions(+), 92 deletions(-) create mode 100644 stemformulas-next/src/app/api/search-index/route.ts create mode 100644 stemformulas-next/src/components/Header.tsx create mode 100644 stemformulas-next/src/components/HomeSearch.tsx create mode 100644 stemformulas-next/src/components/Search.tsx create mode 100644 stemformulas-next/src/components/home.module.css create mode 100644 stemformulas-next/src/components/search.module.css create mode 100644 stemformulas-next/src/lib/formulas.ts diff --git a/stemformulas-next/package-lock.json b/stemformulas-next/package-lock.json index 96fb36d6..30f2e665 100644 --- a/stemformulas-next/package-lock.json +++ b/stemformulas-next/package-lock.json @@ -8,6 +8,7 @@ "name": "stemformulas-next", "version": "0.1.0", "dependencies": { + "fuse.js": "^7.5.0", "gray-matter": "^4.0.3", "next": "16.2.12", "next-mdx-remote": "^6.0.0", @@ -3942,6 +3943,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fuse.js": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.5.0.tgz", + "integrity": "sha512-sQtrEfA+ez/3G0cCZecF70oqpCRttCexYUG4mUrtWL49ULUzUyxokt5kyqwtKzj1270RaKih+hcP3qLcumccow==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/krisk" + } + }, "node_modules/generator-function": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", diff --git a/stemformulas-next/package.json b/stemformulas-next/package.json index 2d9d3008..1f9fc907 100644 --- a/stemformulas-next/package.json +++ b/stemformulas-next/package.json @@ -9,6 +9,7 @@ "lint": "eslint" }, "dependencies": { + "fuse.js": "^7.5.0", "gray-matter": "^4.0.3", "next": "16.2.12", "next-mdx-remote": "^6.0.0", diff --git a/stemformulas-next/src/app/api/search-index/route.ts b/stemformulas-next/src/app/api/search-index/route.ts new file mode 100644 index 00000000..8565de94 --- /dev/null +++ b/stemformulas-next/src/app/api/search-index/route.ts @@ -0,0 +1,6 @@ +import { getAllFormulas } from "@/lib/formulas"; + +export async function GET() { + const formulas = getAllFormulas(); + return Response.json(formulas); +} diff --git a/stemformulas-next/src/app/formulas/page.module.css b/stemformulas-next/src/app/formulas/page.module.css index 87f2b7b6..0146ba7b 100644 --- a/stemformulas-next/src/app/formulas/page.module.css +++ b/stemformulas-next/src/app/formulas/page.module.css @@ -1,7 +1,7 @@ .heading { font-size: 2.25rem; font-weight: 800; - margin-top: 0; + margin: 0; } .subtitle { diff --git a/stemformulas-next/src/app/globals.css b/stemformulas-next/src/app/globals.css index 77ca32a4..3c95e3d6 100644 --- a/stemformulas-next/src/app/globals.css +++ b/stemformulas-next/src/app/globals.css @@ -73,6 +73,7 @@ a { .site-header { padding: 1.5rem 0; font-weight: 600; + font-size: 1.125rem; } @media (min-width: 640px) { @@ -166,7 +167,7 @@ a { background: none; border: none; cursor: pointer; - font-size: 1rem; + font-size: 1.125rem; color: inherit; padding: 0; } diff --git a/stemformulas-next/src/app/layout.tsx b/stemformulas-next/src/app/layout.tsx index 5c85419a..d9fed7c4 100644 --- a/stemformulas-next/src/app/layout.tsx +++ b/stemformulas-next/src/app/layout.tsx @@ -1,7 +1,7 @@ import type { Metadata } from "next"; import "./globals.css"; import "katex/dist/katex.min.css"; -import Link from "next/link"; +import Header from "@/components/Header"; export const metadata: Metadata = { title: "stemformulas", @@ -17,32 +17,7 @@ export default function RootLayout({ return ( -
- -
+
{children}
diff --git a/stemformulas-next/src/app/page.tsx b/stemformulas-next/src/app/page.tsx index 7b947a2d..0c0284d7 100644 --- a/stemformulas-next/src/app/page.tsx +++ b/stemformulas-next/src/app/page.tsx @@ -1,66 +1,5 @@ -import Image from "next/image"; -import styles from "./page.module.css"; +import HomeSearch from "@/components/HomeSearch"; export default function Home() { - return ( -
- ); + return ; } diff --git a/stemformulas-next/src/components/Header.tsx b/stemformulas-next/src/components/Header.tsx new file mode 100644 index 00000000..51de9697 --- /dev/null +++ b/stemformulas-next/src/components/Header.tsx @@ -0,0 +1,80 @@ +"use client"; + +import { useEffect, useState } from "react"; +import Link from "next/link"; +import Search from "./Search"; + +export default function Header() { + const [searchOpen, setSearchOpen] = useState(false); + + useEffect(() => { + function handleKey(e: KeyboardEvent) { + if ( + e.key === "/" && + !searchOpen && + !isInputFocused() + ) { + e.preventDefault(); + setSearchOpen(true); + } + } + window.addEventListener("keydown", handleKey); + return () => window.removeEventListener("keydown", handleKey); + }, [searchOpen]); + + return ( + <> +
+ +
+ + {searchOpen && setSearchOpen(false)} />} + + ); +} + +function isInputFocused() { + const el = document.activeElement; + if (!el) return false; + const tag = el.tagName.toLowerCase(); + return ( + tag === "input" || + tag === "textarea" || + tag === "select" || + (el as HTMLElement).isContentEditable + ); +} diff --git a/stemformulas-next/src/components/HomeSearch.tsx b/stemformulas-next/src/components/HomeSearch.tsx new file mode 100644 index 00000000..915e1655 --- /dev/null +++ b/stemformulas-next/src/components/HomeSearch.tsx @@ -0,0 +1,123 @@ +"use client"; + +import { useEffect, useRef, useState } from "react"; +import { useRouter } from "next/navigation"; +import Fuse from "fuse.js"; +import type { FormulaEntry } from "@/lib/formulas"; +import styles from "./home.module.css"; + +export default function HomeSearch() { + const [results, setResults] = useState[]>([]); + const [activeIndex, setActiveIndex] = useState(-1); + const fuseRef = useRef | null>(null); + const inputRef = useRef(null); + const router = useRouter(); + + useEffect(() => { + fetch("/api/search-index") + .then((r) => r.json()) + .then((data: FormulaEntry[]) => { + fuseRef.current = new Fuse(data, { + shouldSort: true, + ignoreLocation: true, + threshold: 0.0, + includeMatches: true, + keys: [ + { name: "title", weight: 0.8 }, + { name: "summary", weight: 0.6 }, + { name: "content", weight: 0.4 }, + ], + }); + }); + }, []); + + useEffect(() => { + inputRef.current?.focus(); + }, []); + + useEffect(() => { + function handleKey(e: KeyboardEvent) { + if (e.key === "ArrowDown" && results.length > 0) { + e.preventDefault(); + setActiveIndex((i) => Math.min(i + 1, results.length - 1)); + } else if (e.key === "ArrowUp" && results.length > 0) { + e.preventDefault(); + setActiveIndex((i) => Math.max(i - 1, -1)); + } else if (e.key === "Enter" && activeIndex >= 0) { + e.preventDefault(); + router.push(results[activeIndex].item.permalink); + } else if (e.key === "Enter" && results.length > 0) { + e.preventDefault(); + router.push(results[0].item.permalink); + } + } + window.addEventListener("keydown", handleKey); + return () => window.removeEventListener("keydown", handleKey); + }, [activeIndex, results, router]); + + function handleInput(value: string) { + setActiveIndex(-1); + if (!fuseRef.current || !value.trim()) { + setResults([]); + return; + } + setResults(fuseRef.current.search(value).slice(0, 15)); + } + + return ( +
+ stemformulas logo +
+

Welcome to stemformulas.com, a modern database for STEM formulas!

+

+ Search for a formula or{" "} + submit a new one. +

+
+ +
+ ); +} diff --git a/stemformulas-next/src/components/Search.tsx b/stemformulas-next/src/components/Search.tsx new file mode 100644 index 00000000..6cbcf302 --- /dev/null +++ b/stemformulas-next/src/components/Search.tsx @@ -0,0 +1,128 @@ +"use client"; + +import { useEffect, useRef, useState } from "react"; +import { useRouter } from "next/navigation"; +import Fuse from "fuse.js"; +import type { FormulaEntry } from "@/lib/formulas"; +import styles from "./search.module.css"; + +interface Props { + onClose: () => void; +} + +export default function Search({ onClose }: Props) { + const [query, setQuery] = useState(""); + const [results, setResults] = useState[]>([]); + const [activeIndex, setActiveIndex] = useState(-1); + const fuseRef = useRef | null>(null); + const inputRef = useRef(null); + const router = useRouter(); + + useEffect(() => { + fetch("/api/search-index") + .then((r) => r.json()) + .then((data: FormulaEntry[]) => { + fuseRef.current = new Fuse(data, { + shouldSort: true, + ignoreLocation: true, + threshold: 0.0, + includeMatches: true, + keys: [ + { name: "title", weight: 0.8 }, + { name: "summary", weight: 0.6 }, + { name: "content", weight: 0.4 }, + ], + }); + }); + }, []); + + useEffect(() => { + inputRef.current?.focus(); + document.body.style.overflow = "hidden"; + return () => { + document.body.style.overflow = ""; + }; + }, []); + + function close() { + onClose(); + setQuery(""); + setResults([]); + } + + useEffect(() => { + function handleKey(e: KeyboardEvent) { + if (e.key === "Escape") { + close(); + return; + } + if (e.key === "ArrowDown") { + e.preventDefault(); + setActiveIndex((i) => Math.min(i + 1, results.length - 1)); + } else if (e.key === "ArrowUp") { + e.preventDefault(); + setActiveIndex((i) => Math.max(i - 1, -1)); + } else if (e.key === "Enter" && activeIndex >= 0) { + e.preventDefault(); + const result = results[activeIndex]; + router.push(result.item.permalink); + close(); + } + } + + window.addEventListener("keydown", handleKey); + return () => window.removeEventListener("keydown", handleKey); + }, [activeIndex, results, router, onClose]); + + function handleInput(value: string) { + setQuery(value); + setActiveIndex(-1); + if (!fuseRef.current || !value.trim()) { + setResults([]); + return; + } + const r = fuseRef.current.search(value); + setResults(r.slice(0, 15)); + } + + return ( +
+
e.stopPropagation()}> +
+ + + + + + handleInput(e.target.value)} + /> +
+
+ {results.map((r, i) => ( + + ))} +
+
+
+ ); +} diff --git a/stemformulas-next/src/components/home.module.css b/stemformulas-next/src/components/home.module.css new file mode 100644 index 00000000..951e7581 --- /dev/null +++ b/stemformulas-next/src/components/home.module.css @@ -0,0 +1,124 @@ +.wrapper { + display: flex; + flex-direction: column; + align-items: center; + padding: 2vh 1rem; + min-height: calc(100vh - 6rem); +} + +.logo { + margin-bottom: 1.5rem; +} + +.tagline { + text-align: center; + margin-bottom: 2.5rem; +} + +.tagline p { + margin: 0.25rem 0; +} + +.tagline a { + color: var(--color-primary-600); + text-decoration: underline; + font-weight: 500; + text-decoration-color: var(--color-primary-300); +} + +.tagline a:hover { + color: var(--color-neutral); + text-decoration: none; + background-color: var(--color-primary-600); + border-radius: 0.09rem; +} + +.searchBox { + display: flex; + flex-direction: column; + width: 100%; + max-width: 48rem; + min-height: 0; + margin: 0 auto; + border: 1px solid var(--color-neutral-400); + border-radius: 0.375rem; + box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); + background: #fff; +} + +.searchHeader { + position: relative; + z-index: 10; + display: flex; + align-items: center; + flex: none; + padding: 0 0.5rem; +} + +.searchIcon { + display: flex; + align-items: center; + justify-content: center; + width: 2rem; + height: 2rem; + color: var(--color-neutral-400); +} + +.searchInput { + flex: auto; + min-width: 0; + height: 3rem; + margin: 0 0.25rem; + background: transparent; + border: none; + outline: none; + font-size: 1rem; + color: var(--color-neutral-900); +} + +.searchInput::placeholder { + color: var(--color-neutral-400); +} + +.resultsSection { + flex: auto; + padding: 0 0.5rem; + overflow: auto; + max-height: 50vh; +} + +.result { + display: flex; + align-items: center; + padding: 0.75rem 0.75rem; + margin-bottom: 0.5rem; + border-radius: 0.375rem; + background: var(--color-neutral-100); + text-decoration: none; + color: inherit; +} + +.result:hover, +.result.active { + background: var(--color-primary-100); +} + +.resultText { + flex-grow: 1; +} + +.resultTitle { + font-size: 1.125rem; + font-weight: 700; + margin-bottom: -0.25rem; +} + +.resultSummary { + font-size: 0.875rem; + font-style: italic; +} + +.resultArrow { + margin-left: 0.5rem; + color: var(--color-neutral-500); +} diff --git a/stemformulas-next/src/components/search.module.css b/stemformulas-next/src/components/search.module.css new file mode 100644 index 00000000..ef10a7df --- /dev/null +++ b/stemformulas-next/src/components/search.module.css @@ -0,0 +1,124 @@ +.overlay { + position: fixed; + inset: 0; + z-index: 50; + display: flex; + flex-direction: column; + cursor: default; + background: rgba(107, 114, 128, 0.5); + backdrop-filter: blur(4px); + padding: 1rem; +} + +@media (min-width: 640px) { + .overlay { + padding: 1.5rem; + } +} + +@media (min-width: 768px) { + .overlay { + padding: 10vh; + } +} + +@media (min-width: 1024px) { + .overlay { + padding: 12vh; + } +} + +.modal { + display: flex; + flex-direction: column; + width: 100%; + max-width: 48rem; + min-height: 0; + margin: 5rem auto 0; + border: 1px solid var(--color-neutral-200); + border-radius: 0.375rem; + box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); + background: #fff; +} + +.header { + position: relative; + z-index: 10; + display: flex; + align-items: center; + flex: none; + padding: 0 0.5rem; +} + +.icon { + display: flex; + align-items: center; + justify-content: center; + width: 2rem; + height: 2rem; + color: var(--color-neutral-400); +} + +.input { + flex: auto; + min-width: 0; + height: 3rem; + margin: 0 0.25rem; + background: transparent; + border: none; + outline: none; + font-size: 1rem; + color: var(--color-neutral-900); +} + +.input::placeholder { + color: var(--color-neutral-400); +} + +.results { + flex: auto; + padding: 0 0.5rem; + overflow: auto; + max-height: 60vh; +} + +.result { + display: flex; + align-items: center; + width: 100%; + padding: 0.75rem 0.75rem; + margin-bottom: 0.5rem; + border-radius: 0.375rem; + border: none; + background: var(--color-neutral-100); + cursor: pointer; + text-align: left; + font-family: inherit; + font-size: inherit; + color: inherit; +} + +.result:hover, +.result.active { + background: var(--color-primary-100); +} + +.resultText { + flex-grow: 1; +} + +.resultTitle { + font-size: 1.125rem; + font-weight: 700; + margin-bottom: -0.25rem; +} + +.resultSummary { + font-size: 0.875rem; + font-style: italic; +} + +.arrow { + margin-left: 0.5rem; + color: var(--color-neutral-500); +} diff --git a/stemformulas-next/src/lib/formulas.ts b/stemformulas-next/src/lib/formulas.ts new file mode 100644 index 00000000..9453bb4a --- /dev/null +++ b/stemformulas-next/src/lib/formulas.ts @@ -0,0 +1,32 @@ +import fs from "fs"; +import path from "path"; +import matter from "gray-matter"; + +export interface FormulaEntry { + slug: string; + title: string; + summary: string; + section: string; + content: string; + permalink: string; +} + +export function getAllFormulas(): FormulaEntry[] { + const dir = path.join(process.cwd(), "src/content/formulas"); + const files = fs.readdirSync(dir).filter((f) => f.endsWith(".mdx")); + + return files.map((file) => { + const slug = file.replace(".mdx", ""); + const source = fs.readFileSync(path.join(dir, file), "utf-8"); + const { data, content } = matter(source); + + return { + slug, + title: data.title || slug, + summary: data.summary || data.description || "", + section: "formulas", + content: content.slice(0, 500), + permalink: `/formulas/${slug}`, + }; + }); +} From 3f12c47d9a07f8571c5b49a3da7c8f4ba9a48e3f Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Mon, 27 Jul 2026 00:45:09 -0700 Subject: [PATCH 06/16] about page and styling --- .../src/app/about/page.module.css | 12 +++ stemformulas-next/src/app/about/page.tsx | 86 +++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 stemformulas-next/src/app/about/page.module.css create mode 100644 stemformulas-next/src/app/about/page.tsx diff --git a/stemformulas-next/src/app/about/page.module.css b/stemformulas-next/src/app/about/page.module.css new file mode 100644 index 00000000..56dc4a8c --- /dev/null +++ b/stemformulas-next/src/app/about/page.module.css @@ -0,0 +1,12 @@ +.title { + font-size: 2.25rem; + font-weight: 800; + line-height: 2.5rem; + color: var(--color-neutral-900); + margin: 0 0 0.67em 0; +} + +.section { + max-width: 65ch; + margin-top: 3rem; +} diff --git a/stemformulas-next/src/app/about/page.tsx b/stemformulas-next/src/app/about/page.tsx new file mode 100644 index 00000000..3b62a677 --- /dev/null +++ b/stemformulas-next/src/app/about/page.tsx @@ -0,0 +1,86 @@ +import type { Metadata } from "next"; +import styles from "./page.module.css"; + +export const metadata: Metadata = { + title: "about · stemformulas", + description: "About page", +}; + +export default function AboutPage() { + return ( +
+
+

about

+
+
+

+ Stemformulas is a website dedicated to providing a single place to + look for STEM formulas. It has a long way to go to become that, but + the foundation is laid out. +

+

+ It was made by a few engineering students (lead by{" "} + @linguinelabs) who were + frustrated with the current state of formula searching online. This + frustration lead to the focus of the features of the site, which + include: +

+
    +
  • + The search bar being in focus on site load, so you can search for a + formula quickly +
  • +
  • + LaTeX being copyable by just clicking on it on any formula's + page +
  • +
  • The / key being used to open the search on any page
  • +
  • + Formula pages having nice preview images when shared on social + media, so people don't even need to visit the site to see the + formula +
  • +
  • The mobile-friendliness of the site
  • +
+

Tech Stack

+

+ This site is open-source on{" "} + + GitHub + + . +

+

+ It is made with the Next.js framework, rendered with MDX and KaTeX, + and styled with CSS modules. +

+

+ It is hosted on{" "} + GitHub Pages, deployed + conveniently with GitHub Actions. +

+

Contributing

+

+ If you want to add a formula to this site, there are two ways you can + do so. +

+
    +
  1. + Submit a formula on our submit page. +
  2. +
  3. + Create a pull request directly on the{" "} + + GitHub repo + + . More detailed contribution instructions can be found in the{" "} + + README + + . +
  4. +
+
+
+ ); +} From 9e87b368eff8037ca31297ca82fc07710c2760e3 Mon Sep 17 00:00:00 2001 From: Kevin Lin Date: Mon, 27 Jul 2026 00:49:52 -0700 Subject: [PATCH 07/16] working submit page --- stemformulas-next/package-lock.json | 41 ++++ stemformulas-next/package.json | 3 + stemformulas-next/src/app/api/submit/route.ts | 46 ++++ .../src/app/submit/page.module.css | 112 +++++++++ stemformulas-next/src/app/submit/page.tsx | 212 ++++++++++++++++++ stemformulas-next/src/components/Header.tsx | 3 - 6 files changed, 414 insertions(+), 3 deletions(-) create mode 100644 stemformulas-next/src/app/api/submit/route.ts create mode 100644 stemformulas-next/src/app/submit/page.module.css create mode 100644 stemformulas-next/src/app/submit/page.tsx diff --git a/stemformulas-next/package-lock.json b/stemformulas-next/package-lock.json index 30f2e665..bd17c8ad 100644 --- a/stemformulas-next/package-lock.json +++ b/stemformulas-next/package-lock.json @@ -8,8 +8,10 @@ "name": "stemformulas-next", "version": "0.1.0", "dependencies": { + "dompurify": "^3.4.12", "fuse.js": "^7.5.0", "gray-matter": "^4.0.3", + "marked": "^18.0.7", "next": "16.2.12", "next-mdx-remote": "^6.0.0", "react": "19.2.4", @@ -18,6 +20,7 @@ "remark-math": "^6.0.0" }, "devDependencies": { + "@types/dompurify": "^3.0.5", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", @@ -1384,6 +1387,16 @@ "@types/ms": "*" } }, + "node_modules/@types/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/trusted-types": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", @@ -1478,6 +1491,13 @@ "@types/react": "^19.2.0" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "devOptional": true, + "license": "MIT" + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -2935,6 +2955,15 @@ "node": ">=0.10.0" } }, + "node_modules/dompurify": { + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.12.tgz", + "integrity": "sha512-zQvGet8Z2sWbQhCmfFz/T5QWH2oBmjnqK3qvOjaqaNLrLEF912WamU+ohnTp0TCep/MFVHpdJuCZEdFOdTnEFg==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -5261,6 +5290,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/marked": { + "version": "18.0.7", + "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.7.tgz", + "integrity": "sha512-iDVQ5ldaiKXn6b2JroX5kgRfmwgqolW7NpaEzTl1k/2Zh1njIEN9yniyLV/mOvWwtsE8OGgkjsCYvijuPk1dtA==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", diff --git a/stemformulas-next/package.json b/stemformulas-next/package.json index 1f9fc907..2de0ef1d 100644 --- a/stemformulas-next/package.json +++ b/stemformulas-next/package.json @@ -9,8 +9,10 @@ "lint": "eslint" }, "dependencies": { + "dompurify": "^3.4.12", "fuse.js": "^7.5.0", "gray-matter": "^4.0.3", + "marked": "^18.0.7", "next": "16.2.12", "next-mdx-remote": "^6.0.0", "react": "19.2.4", @@ -19,6 +21,7 @@ "remark-math": "^6.0.0" }, "devDependencies": { + "@types/dompurify": "^3.0.5", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", diff --git a/stemformulas-next/src/app/api/submit/route.ts b/stemformulas-next/src/app/api/submit/route.ts new file mode 100644 index 00000000..ee840f4a --- /dev/null +++ b/stemformulas-next/src/app/api/submit/route.ts @@ -0,0 +1,46 @@ +export async function POST(request: Request) { + const body = await request.json(); + const webhookUrl = process.env.DISCORD_WEBHOOK_URL; + + if (!webhookUrl) { + return Response.json({ error: "Webhook not configured" }, { status: 500 }); + } + + const res = await fetch(webhookUrl, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + embeds: [ + { + title: "New stemformulas.com formula suggestion", + color: 0x00ff00, + fields: [ + { name: "Title", value: body.title || "n/a", inline: true }, + { + name: "Description", + value: body.description || "n/a", + inline: true, + }, + { name: "Tags", value: body.tags || "n/a", inline: true }, + { + name: "LaTeX", + value: `\`\`\`latex\n${body.latex || "n/a"}\n\`\`\``, + inline: false, + }, + { + name: "Body", + value: `\`\`\`markdown\n${body.body || "n/a"}\n\`\`\``, + inline: false, + }, + ], + }, + ], + }), + }); + + if (!res.ok) { + return Response.json({ error: "Webhook failed" }, { status: 500 }); + } + + return Response.json({ ok: true }); +} diff --git a/stemformulas-next/src/app/submit/page.module.css b/stemformulas-next/src/app/submit/page.module.css new file mode 100644 index 00000000..a448da3f --- /dev/null +++ b/stemformulas-next/src/app/submit/page.module.css @@ -0,0 +1,112 @@ +.wrapper { + max-width: 48rem; + margin: 0 auto; + padding: 0 1rem; +} + +.header { + max-width: 65ch; + margin-bottom: 1.5rem; +} + +.title { + font-size: 2.25rem; + font-weight: 800; + line-height: 2.5rem; + color: var(--color-neutral-900); + margin: 0 0 0.5rem 0; +} + +.subtitle { + font-size: 1.125rem; + color: var(--color-neutral-500); + margin: 0 0 1.5rem 0; +} + +.formSection { + background: #fff; + border: 1px solid var(--color-neutral-200); + border-radius: 0.375rem; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); +} + +.form { + padding: 1.25rem; + display: flex; + flex-direction: column; +} + +.label { + display: block; + font-size: 1.125rem; + font-weight: 500; + color: var(--color-neutral-700); + margin-bottom: 0.5rem; +} + +.input, +.textarea { + width: 100%; + padding: 0.5rem 1rem; + margin-bottom: 1.5rem; + border-radius: 0.375rem; + border: 1px solid var(--color-neutral-200); + font-family: inherit; + font-size: 1rem; + outline: none; + background: #fff; + color: var(--color-neutral-900); +} + +.input:focus, +.textarea:focus { + ring: 2px solid var(--color-primary-500); + border-color: var(--color-primary-500); +} + +.textarea { + resize: vertical; +} + +.btn { + padding: 0.5rem 1.5rem; + font-size: 1rem; + font-weight: 600; + color: #fff; + background: var(--color-neutral-700); + border: none; + border-radius: 0.375rem; + cursor: pointer; + align-self: flex-start; +} + +.btn:hover { + background: var(--color-primary-600); +} + +.btn:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +.previewSection { + max-width: 65ch; + margin-top: 2rem; +} + +.previewHeading { + font-size: 1.5rem; + font-weight: 700; + margin-bottom: 1.5rem; + color: var(--color-neutral-900); +} + +.previewContent { + background: #fff; + border: 1px solid var(--color-neutral-200); + border-radius: 0.5rem; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); + padding: 3rem; + padding-top: 5rem; + padding-bottom: 2rem; +} diff --git a/stemformulas-next/src/app/submit/page.tsx b/stemformulas-next/src/app/submit/page.tsx new file mode 100644 index 00000000..6dda469c --- /dev/null +++ b/stemformulas-next/src/app/submit/page.tsx @@ -0,0 +1,212 @@ +"use client"; + +import { useRef, useState } from "react"; +import { marked } from "marked"; +import DOMPurify from "dompurify"; +import styles from "./page.module.css"; + +declare global { + interface Window { + renderMathInElement: ( + el: HTMLElement, + opts?: Record + ) => void; + } +} + +export default function SubmitPage() { + const [title, setTitle] = useState("Gaussian/Normal Distribution"); + const [description, setDescription] = useState("The formula for the normal distribution."); + const [tags, setTags] = useState("math, statistics, probability theory"); + const [latex, setLatex] = useState( + "f(x) = \\frac{1}{\\sigma \\sqrt{2\\pi}} e^{-\\frac{1}{2}\\left(\\frac{x-\\mu}{\\sigma}\\right)^2}" + ); + const [body, setBody] = useState( + "The formula for the normal distribution as a function of the variable x is:\n$$ \\frac{1}{\\sigma \\sqrt{2\\pi}} e^{-\\frac{1}{2}\\left(\\frac{x-\\mu}{\\sigma}\\right)^2} $$\n\nWhere\n\n* $e$ is Euler's number,\n* $\\mu$ is the mean of the distribution, and\n* $\\sigma$ is the standard deviation of the distribution.\n\n## Sources\n\n- [Wikipedia](https://en.wikipedia.org/wiki/Normal_distribution)\n- [Britannica](https://www.britannica.com/topic/uniform-distribution-statistics)" + ); + const [showPreview, setShowPreview] = useState(false); + const [sending, setSending] = useState(false); + const previewRef = useRef(null); + + const tagList = tags.split(",").map((t) => t.trim()).filter(Boolean); + + function renderPreview() { + const sanitized = DOMPurify.sanitize(marked.parse(body) as string); + const tagsHTML = tagList + .map((tag) => `${tag}`) + .join(" "); + + const html = ` +
+
+

${DOMPurify.sanitize(title)}

+
${tagsHTML}
+
+
${sanitized}
+
+ `; + + setShowPreview(true); + + requestAnimationFrame(() => { + if (previewRef.current) { + previewRef.current.innerHTML = html; + if (window.renderMathInElement) { + window.renderMathInElement(previewRef.current, { + delimiters: [ + { left: "$$", right: "$$", display: true }, + { left: "$", right: "$", display: false }, + ], + }); + } + } + }); + } + + async function handleSubmit() { + try { + setSending(true); + const lastSubmit = localStorage.getItem("lastSubmissionTime"); + if (lastSubmit) { + const elapsed = Date.now() - parseInt(lastSubmit); + if (elapsed < 120000) { + alert( + `Please wait ${Math.ceil((120000 - elapsed) / 1000)} seconds before submitting again.` + ); + setSending(false); + return; + } + } + + const res = await fetch("/api/submit", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ title, description, tags, latex, body }), + }); + + if (res.ok) { + localStorage.setItem("lastSubmissionTime", String(Date.now())); + alert("Submission sent successfully. Thank you!"); + } else { + alert("Failed to send submission. Please try again."); + } + } catch { + alert("An error occurred. Please try again."); + } finally { + setSending(false); + } + } + + return ( + <> + + - - - {{ $js := resources.Get "js/formula-suggest.js" | fingerprint }} - -{{ end }} \ No newline at end of file diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html deleted file mode 100644 index 61307a4e..00000000 --- a/layouts/_default/taxonomy.html +++ /dev/null @@ -1,30 +0,0 @@ -{{ define "main" }} -
- {{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }} - {{ partial "breadcrumbs.html" . }} - {{ end }} -

{{ lower .Title }}

-
- {{ if .Content }} -
-
- {{ .Content | emojify }} -
-
- {{ end }} - {{ $max := 0 }} - {{ range .Data.Terms }} - {{ if gt .Count $max }} - {{ $max = .Count }} - {{ end }} - {{ end }} -
-
- -
-
-{{ end }} diff --git a/layouts/_default/term.html b/layouts/_default/term.html deleted file mode 100644 index c61fdb1d..00000000 --- a/layouts/_default/term.html +++ /dev/null @@ -1,63 +0,0 @@ -{{ define "main" }} - - - - - - -
- {{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }} - {{ partial "breadcrumbs.html" . }} - {{ end }} -

{{ .Title }}

-
- {{ if .Content }} -
-
- {{ .Content | emojify }} -
-
- {{ end }} -
- {{ if .Data.Pages }} -
- {{ if $.Params.groupByYear | default ($.Site.Params.list.groupByYear | default true) }} - {{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }} -

- {{ .Key }} -

-
- {{ range .Pages }} - {{ partial "article-link.html" . }} - {{ end }} - {{ end }} - {{ else }} - {{ range (.Paginate .Pages).Pages }} - {{ partial "article-link.html" . }} - {{ end }} - {{ end }} -
- {{ partial "pagination.html" . }} - {{ else }} -
-

- {{ i18n "list.no_articles" | emojify }} -

-
- {{ end }} -
-{{ end }} diff --git a/layouts/partials/article-link.html b/layouts/partials/article-link.html deleted file mode 100644 index 79b6c640..00000000 --- a/layouts/partials/article-link.html +++ /dev/null @@ -1,74 +0,0 @@ -{{ with .Params.externalUrl }} - -{{ else }} - -{{ end}} - {{- $images := $.Resources.ByType "image" }} - {{- $thumbnail := $images.GetMatch "*thumb*" }} - {{- $feature := $images.GetMatch "*feature*" | default $thumbnail }} - {{- with $feature }} - - - - {{- end }} -

- {{ with .Params.externalUrl }} -
- {{ $.Title | emojify }} - - - - -
- {{ else }} - {{ .Title | emojify }} - {{ end }} - {{ if and .Draft .Site.Params.article.showDraftLabel }} -
- {{ partial "badge.html" (i18n "article.draft" | emojify) }} -
- {{ end }} - {{ if templates.Exists "partials/extend-article-link.html" }} - {{ partial "extend-article-link.html" . }} - {{ end }} -

- {{ partial "article-meta.html" . }} - {{ if .Params.showSummary | default (.Site.Params.list.showSummary | default false) }} -
- {{ .Summary | emojify }} -
- {{ end }} - diff --git a/layouts/partials/article-meta.html b/layouts/partials/article-meta.html deleted file mode 100644 index 28c1cceb..00000000 --- a/layouts/partials/article-meta.html +++ /dev/null @@ -1,76 +0,0 @@ -{{/* Determine the correct context and scope */}} -{{/* This allows for different logic depending on where the partial is called */}} -{{ $context := . }} -{{ $scope := default nil }} - -{{ if (reflect.IsMap . ) }} - {{ $context = .context }} - {{ $scope = cond (not .scope) nil .scope }} -{{ end }} - -{{ with $context }} - {{ $meta := newScratch }} - - {{/* Gather partials for this context */}} - {{ if .Params.showDate | default (.Site.Params.article.showDate | default true) }} - {{ if eq $scope "single"}} - {{ $meta.Add "partials" (slice (partial "meta/date.html" .Date)) }} - {{end}} - {{ end }} - - {{/* Output taxonomies */}} - {{ if or - (and (ne $scope "single") (.Params.showTaxonomies | default (.Site.Params.list.showTaxonomies | default (.Site.Params.article.showTaxonomies | default false)))) - (and (eq $scope "single") (.Params.showTaxonomies | default (.Site.Params.article.showTaxonomies | default false))) - }} -
- {{ range $taxonomy, $terms := .Site.Taxonomies }} - {{ if (gt (len ($context.GetTerms $taxonomy)) 0) }} - {{ range $context.GetTerms $taxonomy }} - {{ .LinkTitle }} - {{ end }} - {{ end }} - {{ end }} -
- {{ end }} - {{ if and (.Params.showDateUpdated | default (.Site.Params.list.showDateUpdated | default false)) (ne (partial "functions/date.html" .Date) (partial "functions/date.html" .Lastmod)) }} - {{ $meta.Add "partials" (slice (partial "meta/date-updated.html" .Lastmod)) }} - {{ end }} - - {{ if and (.Params.showWordCount | default (.Site.Params.article.showWordCount | default false)) (ne .WordCount 0) }} - {{ $meta.Add "partials" (slice (partial "meta/word-count.html" .)) }} - {{ end }} - - {{ if and (.Params.showReadingTime | default (.Site.Params.article.showReadingTime | default true)) (ne .ReadingTime 0) }} - {{ $meta.Add "partials" (slice (partial "meta/reading-time.html" .)) }} - {{ end }} - - {{ if and (eq $scope "single") (.Params.showEdit | default (.Site.Params.article.showEdit | default false)) }} - {{ $meta.Add "partials" (slice (partial "meta/edit.html" .)) }} - {{ end }} - - {{ if not (eq $scope "single")}} -
- {{ printf "%s" "$$" | printf "%s%s" .Params.latex | printf "%s%s" "$$" | printf "%s" }} -
-
- {{ else}} -
- {{ end }} - - {{/* Output partials */}} - {{ with ($meta.Get "partials") }} - {{ delimit . "·" }} - {{ end }} - - {{/* Output draft label */}} - {{ if and (eq $scope "single") (and .Draft .Site.Params.article.showDraftLabel) }} - {{ partial "badge.html" (i18n "article.draft" | emojify) }} - {{ end }} -
- -{{ end }} diff --git a/layouts/partials/head.html b/layouts/partials/head.html deleted file mode 100644 index 50bdfbbc..00000000 --- a/layouts/partials/head.html +++ /dev/null @@ -1,145 +0,0 @@ - - - {{ with .Site.Language.Params.htmlCode | default .Site.LanguageCode }} - - {{ end }} - - - - {{/* Title */}} - {{ if .IsHome -}} - {{ .Site.Title | emojify }} - - - - - - - - - - - - - - - {{- else -}} - {{ .Title | emojify }} · {{ .Site.Title | emojify }} - - - - - - - - - - - - - {{- end }} - - - {{/* Metadata */}} - - {{ with .Site.Params.keywords -}} - - {{- end }} - - {{ with .Site.Params.robots }} - - {{ end }} - {{ with .Params.robots }} - - {{ end }} - - {{ range .AlternativeOutputFormats -}} - {{ printf `` .Rel .MediaType.Type .RelPermalink ($.Site.Title | emojify) | safeHTML }} - {{ end -}} - {{/* Asset bundles */}} - {{ $assets := newScratch }} - {{ $cssScheme := resources.Get (printf "css/schemes/%s.css" (lower .Site.Params.colorScheme | default "congo")) }} - {{ if not $cssScheme }} - {{ $cssScheme = resources.Get "css/schemes/congo.css" }} - {{ end }} - {{ $assets.Add "css" (slice $cssScheme) }} - {{ $cssMain := resources.Get "css/compiled/main.css" }} - {{ $assets.Add "css" (slice $cssMain) }} - {{ $cssCustom := resources.Get "css/custom.css" }} - {{ if $cssCustom }} - {{ $assets.Add "css" (slice $cssCustom) }} - {{ end }} - {{ $bundleCSS := $assets.Get "css" | resources.Concat "css/main.bundle.css" | resources.Minify | resources.Fingerprint "sha512" }} - - {{ $jsAppearance := resources.Get "js/appearance.js" }} - {{ $jsAppearance = $jsAppearance | resources.Minify | resources.Fingerprint "sha512" }} - - {{ if .Site.Params.enableSearch | default false }} - {{ $jsFuse := resources.Get "lib/fuse/fuse.min.js" }} - {{ $jsSearch := resources.Get "js/search.js" }} - {{ $assets.Add "js" (slice $jsFuse $jsSearch) }} - {{ end }} - {{ if .Site.Params.enableCodeCopy | default false }} - {{ $jsCode := resources.Get "js/code.js" }} - {{ $assets.Add "js" (slice $jsCode) }} - {{ end }} - {{ if .Site.Params.rtl | default false }} - {{ $jsRTL := resources.Get "js/rtl.js" }} - {{ $assets.Add "js" (slice $jsRTL) }} - {{ end }} - {{ if $assets.Get "js" }} - {{ $bundleJS := $assets.Get "js" | resources.Concat "js/main.bundle.js" | resources.Minify | resources.Fingerprint "sha512" }} - - {{ end }} - {{/* Icons */}} - {{ if templates.Exists "partials/favicons.html" }} - {{ partialCached "favicons.html" .Site }} - {{ else }} - - - - - {{ end }} - {{/* Site Verification */}} - {{ with .Site.Params.verification.google }} - - {{ end }} - {{ with .Site.Params.verification.bing }} - - {{ end }} - {{ with .Site.Params.verification.pinterest }} - - {{ end }} - {{ with .Site.Params.verification.yandex }} - - {{ end }} - {{/* Social */}} - {{ template "_internal/opengraph.html" . }} - {{ template "_internal/twitter_cards.html" . }} - {{/* Schema */}} - {{ partial "schema.html" . }} - {{/* Me */}} - {{ with .Site.Author.name }}{{ end }} - {{ with .Site.Author.links }} - {{ range $links := . }} - {{ range $name, $url := $links }}{{ end }} - {{ end }} - {{ end }} - {{/* Vendor */}} - {{ partial "vendor.html" . }} - {{/* Analytics */}} - {{ partialCached "analytics.html" . }} - {{/* Extend head - eg. for custom analytics scripts, etc. */}} - {{ if templates.Exists "partials/extend-head.html" }} - {{ partial "extend-head.html" .Site }} - {{ end }} - - - diff --git a/layouts/partials/header/basic.html b/layouts/partials/header/basic.html deleted file mode 100644 index 2f4b1dd8..00000000 --- a/layouts/partials/header/basic.html +++ /dev/null @@ -1,39 +0,0 @@ -
- -
diff --git a/layouts/partials/home/custom.html b/layouts/partials/home/custom.html deleted file mode 100644 index 9f1d9af0..00000000 --- a/layouts/partials/home/custom.html +++ /dev/null @@ -1,39 +0,0 @@ -
- -stemformulas logo -
-

Welcome to stemformulas.com, a modern database for STEM formulas!

-

Search for a formula or submit a new one.

- -
-
-
-
-
- {{ partial "icon.html" "search" }} -
- -
-
-
-
    -
-
-
diff --git a/layouts/partials/logo.html b/layouts/partials/logo.html deleted file mode 100644 index 41821205..00000000 --- a/layouts/partials/logo.html +++ /dev/null @@ -1,33 +0,0 @@ -{{- if .Site.Params.header.logo }} - {{- $logo := resources.Get .Site.Params.header.logo }} - {{- if $logo }} - - - - {{- end }} -{{- end }} -{{- if .Site.Params.header.showTitle | default true }} - {{ .Site.Title | markdownify | emojify }} -{{- end }} - diff --git a/layouts/partials/meta/date.html b/layouts/partials/meta/date.html deleted file mode 100644 index 0c043936..00000000 --- a/layouts/partials/meta/date.html +++ /dev/null @@ -1,4 +0,0 @@ - - {{- /* Trim EOF */ -}} diff --git a/layouts/partials/search.html b/layouts/partials/search.html deleted file mode 100644 index 50e58260..00000000 --- a/layouts/partials/search.html +++ /dev/null @@ -1,48 +0,0 @@ - diff --git a/layouts/partials/vendor.html b/layouts/partials/vendor.html deleted file mode 100644 index b75dc1c9..00000000 --- a/layouts/partials/vendor.html +++ /dev/null @@ -1,39 +0,0 @@ - -{{/* Mermaid */}} -{{ if .Page.HasShortcode "mermaid" }} - {{ $mermaidLib := resources.Get "lib/mermaid/mermaid.min.js" }} - {{ $mermaidConfig := resources.Get "js/mermaid.js" }} - {{ $mermaidConfig := $mermaidConfig | resources.Minify }} - {{ $mermaidJS := slice $mermaidLib $mermaidConfig | resources.Concat "js/mermaid.bundle.js" | resources.Fingerprint "sha512" }} - -{{ end }} -{{/* Chart */}} -{{ if .Page.HasShortcode "chart" }} - {{ $chartLib := resources.Get "lib/chart/chart.umd.js" }} - {{ $chartConfig := resources.Get "js/chart.js" }} - {{ $chartConfig := $chartConfig | resources.Minify }} - {{ $chartJS := slice $chartLib $chartConfig | resources.Concat "js/chart.bundle.js" | resources.Fingerprint "sha512" }} - -{{ end }} -{{/* Katex */}} -{{ if .Page.HasShortcode "katex" }} - {{ $katexCSS := resources.Get "lib/katex/katex.min.css" }} - {{ $katexCSS := $katexCSS | resources.Fingerprint "sha512" }} - - {{ $katexJS := resources.Get "lib/katex/katex.min.js" }} - {{ $katexJS := $katexJS | resources.Fingerprint "sha512" }} - - {{ $katexRenderJS := resources.Get "lib/katex/auto-render.min.js" }} - {{ $katexRenderJS := $katexRenderJS | resources.Fingerprint "sha512" }} - - - {{ $katexFonts := resources.Match "lib/katex/fonts/*" }} - - {{ range $katexFonts }} - {{ .Publish }} - {{ end }} -{{ end }} diff --git a/stemformulas-next/mdx-components.tsx b/mdx-components.tsx similarity index 100% rename from stemformulas-next/mdx-components.tsx rename to mdx-components.tsx diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 00000000..c4b7818f --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +import "./.next/dev/types/routes.d.ts"; + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/stemformulas-next/next.config.ts b/next.config.ts similarity index 100% rename from stemformulas-next/next.config.ts rename to next.config.ts diff --git a/package-lock.json b/package-lock.json index defae028..543ff906 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,1999 +1,7895 @@ { - "name": "stemformulas.github.io", + "name": "stemformulas-next", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { + "name": "stemformulas-next", + "version": "0.1.0", "dependencies": { - "@mdx-js/mdx": "^3.1.1", - "@mdx-js/react": "^3.1.1", - "@next/mdx": "^16.2.12", + "@next/third-parties": "^16.2.12", + "dompurify": "^3.4.12", + "fuse.js": "^7.5.0", "gray-matter": "^4.0.3", + "marked": "^18.0.7", + "next": "16.2.12", + "next-mdx-remote": "^6.0.0", + "react": "19.2.4", + "react-dom": "19.2.4", "rehype-katex": "^7.0.1", "remark-math": "^6.0.0" + }, + "devDependencies": { + "@types/dompurify": "^3.0.5", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.12", + "typescript": "^5" } }, - "node_modules/@mdx-js/mdx": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", - "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "acorn": "^8.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-scope": "^1.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "recma-build-jsx": "^1.0.0", - "recma-jsx": "^1.0.0", - "recma-stringify": "^1.0.0", - "rehype-recma": "^1.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@mdx-js/react": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", - "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, "license": "MIT", "dependencies": { - "@types/mdx": "^2.0.0" + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@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/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" + "url": "https://opencollective.com/babel" } }, - "node_modules/@next/mdx": { - "version": "16.2.12", - "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-16.2.12.tgz", - "integrity": "sha512-bbKvq/7SIJZgQFRYL3wwnzLwCBviQfWi5UR61RDWwaMX3fV6iSqKfVr5SErRNA/PhMer/ylvErX4SVaGNrwKcw==", + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "dev": true, "license": "MIT", "dependencies": { - "source-map": "^0.7.0" + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, - "peerDependencies": { - "@mdx-js/loader": ">=0.15.0", - "@mdx-js/react": ">=0.15.0" - }, - "peerDependenciesMeta": { - "@mdx-js/loader": { - "optional": true - }, - "@mdx-js/react": { - "optional": true - } + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/debug": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", - "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, "license": "MIT", "dependencies": { - "@types/ms": "*" + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "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==", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "*" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/hast": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", - "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "*" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/katex": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz", - "integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==", - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "*" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@types/mdx": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", - "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "19.2.17", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", - "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "csstype": "^3.2.2" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz", - "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", - "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=6.9.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==", + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/astring": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", - "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, "bin": { - "astring": "bin/astring" + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "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", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" } }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "node_modules/@emnapi/runtime": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "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", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.1.tgz", + "integrity": "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==", + "dev": true, "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", + "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": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/eslint" } }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "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" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "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==", - "license": "MIT", - "peer": true - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "ms": "^2.1.3" + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/decode-named-character-reference": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", - "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", - "license": "MIT", + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "character-entities": "^2.0.0" + "@eslint/core": "^0.17.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { - "node": ">=6" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "node_modules/@eslint/eslintrc": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.6.tgz", + "integrity": "sha512-l2Ul9PrHsPCKcEY/ac7VgFj9D80C7S68sOKc618SyHDPK36s1XcFebXY0iTzUVn4Yq+YbwvSnDmCz9yxjX+QrA==", + "dev": true, "license": "MIT", "dependencies": { - "dequal": "^2.0.0" + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.3.0", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/esast-util-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", - "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "node_modules/@eslint/js": { + "version": "9.39.5", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.5.tgz", + "integrity": "sha512-QywQuszQh77pIXCsq998c8hbhSTI/azTty1Z6N53dmAudKHhy573j3yvRLsX2BSp8YpLtoCEG8E9DJe+8zUh4A==", + "dev": true, "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://eslint.org/donate" } }, - "node_modules/esast-util-from-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", - "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "acorn": "^8.0.0", - "esast-util-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "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==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", - "license": "MIT", + "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": { - "@types/estree": "^1.0.0" + "@humanfs/types": "^0.15.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=18.18.0" } }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", - "license": "MIT", + "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": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=18.18.0" } }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "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/estree-util-scope": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", - "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.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": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" + "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": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" } }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/hast-util-from-dom": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", - "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", - "license": "ISC", - "dependencies": { - "@types/hast": "^3.0.0", - "hastscript": "^9.0.0", - "web-namespaces": "^2.0.0" - }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" } }, - "node_modules/hast-util-from-html": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", - "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.1.0", - "hast-util-from-parse5": "^8.0.0", - "parse5": "^7.0.0", - "vfile": "^6.0.0", - "vfile-message": "^4.0.0" - }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" } }, - "node_modules/hast-util-from-html-isomorphic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", - "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-dom": "^5.0.0", - "hast-util-from-html": "^2.0.0", - "unist-util-remove-position": "^5.0.0" - }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" } }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", - "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^7.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" } }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" } }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" } }, - "node_modules/hast-util-to-estree": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", - "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-attach-comments": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.0" + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" } }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", - "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" } }, - "node_modules/hast-util-to-text": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", - "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" } }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" } }, - "node_modules/hastscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", - "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0" + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" } }, - "node_modules/inline-style-parser": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", - "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", - "license": "MIT" + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" } }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" } }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/libvips" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "license": "MIT", + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://opencollective.com/libvips" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=12" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/libvips" } }, - "node_modules/js-yaml": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz", - "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==", + "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": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/katex": { - "version": "0.16.47", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz", - "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], + "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": { - "commander": "^8.3.0" - }, - "bin": { - "katex": "cli.js" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "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": ">=0.10.0" - } - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node": ">=6.0.0" } }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "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/mdast-util-from-markdown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", - "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "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": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/mdast-util-math": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", - "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", "license": "MIT", "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", - "longest-streak": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.1.0", - "unist-util-remove-position": "^5.0.0" + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "node_modules/@mdx-js/react": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", + "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", "license": "MIT", "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "@types/mdx": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" } }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" + "@tybys/wasm-util": "^0.10.3" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", - "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "node_modules/@next/env": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.12.tgz", + "integrity": "sha512-d0Z5Bc13Fa4nR8pFAKx2jay2yhJM16vlfHbTzYnUQAxlNb6B6lmn4hjt69lYNt4kRtyYP6gEM49lPRHNbIyneg==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.12.tgz", + "integrity": "sha512-uF2z/qAK2q7B5/6CpnFcBRX6jOq5iCO+Uqh1UkJhXljX1JwLarLYhhoJadO6dPb6moTprOKewMXheBcbIoSbug==", + "dev": true, "license": "MIT", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "fast-glob": "3.3.1" } }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "node_modules/@next/swc-darwin-arm64": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.12.tgz", + "integrity": "sha512-0W1R0teHWJrqKX0FH20IzzIWAOuGtBxPGuObrxy1lE8hQvCFj49KE8a3WUg0D7sq6rn6zkM4c7YGUnhudBS6oA==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "node_modules/@next/swc-darwin-x64": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.12.tgz", + "integrity": "sha512-Hy5Ls099+aFUmOLmIgPfLqNi6iCwhL3uQCssz5rWk+5Nkc6TUKCE83DY5BbNylfm3+mfwcSFnLRfrZDJhVxdtw==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", - "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.12.tgz", + "integrity": "sha512-+YqU2h1cQkHsGfvjAsrSmst8UIFBibBGm5x3Xgel8NLMiDQtNOM4sM2GOEMvG5YiOBNeN/Ykk8cQC2S0Xrqljg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.12.tgz", + "integrity": "sha512-0qjhiYBaKAqF63LA1ZWAAnKTzFUguAaZiRa5etMLGGPj/B6uEVjtIZldIzFEp3wHlB0koK6aTzqPtSdplTCjoA==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.12.tgz", + "integrity": "sha512-7A3q26W+h7gnA15uqBToNuDqBEFZZcqh0mW2mn4AJh/G5pdg2RVE3n4slzLEliASZFG3NmsbEzng/x2Sh09mBg==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.12.tgz", + "integrity": "sha512-qSjL/uppm+cbh21s72Ss8gkiOhQ4dExWHNGOWy6eZV7STj5WsKehgxT61beSsOj+YYQuTplL376lOCdMQU5T8w==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" ], "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", - "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.12.tgz", + "integrity": "sha512-X6hzsOUJac/e7AWSbn9gQ9nzHld1xWP5iyjHpYWvud8pufB679O1xg4JDyKr8Xd69Jvd+kM2Der6uftiZCmjYA==", + "cpu": [ + "arm64" ], "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-extension-math": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", - "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.12.tgz", + "integrity": "sha512-F6fakeHuFTLOPt0bslQJdf+xtT+WIP9DVn/m4y1w1mRnVPyh3D/cNvzlRkxM444xfm+IvvYNSOrKiA2CDJ0Uxw==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@types/katex": "^0.16.0", - "devlop": "^1.0.0", - "katex": "^0.16.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", - "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/@next/third-parties": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/@next/third-parties/-/third-parties-16.2.12.tgz", + "integrity": "sha512-1fHKgERSVcgC0QfPJq2v96l6pLUdbVdkT0bjJYK8MguKTVjPd734kWBxfd77nPUG4N5F9s+qVdVjpEBm1tlwNQ==", "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "third-party-capital": "1.0.20" + }, + "peerDependencies": { + "next": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0-beta.0", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0" } }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", - "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 8" } }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 8" } }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 8" } }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "tslib": "^2.8.0" } }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "tslib": "^2.4.0" } }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", "license": "MIT", "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@types/ms": "*" } }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", - "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/@types/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", + "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" + "@types/trusted-types": "*" } }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", "license": "MIT", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "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/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/katex": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz", + "integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.17", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", + "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "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/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.65.0.tgz", + "integrity": "sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/type-utils": "8.65.0", + "@typescript-eslint/utils": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", + "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.65.0", + "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.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", + "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.65.0.tgz", + "integrity": "sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.65.0.tgz", + "integrity": "sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.65.0", + "@typescript-eslint/types": "^8.65.0", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.65.0.tgz", + "integrity": "sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0" + }, + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.65.0.tgz", + "integrity": "sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.65.0.tgz", + "integrity": "sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/utils": "8.65.0", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.65.0.tgz", + "integrity": "sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==", + "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.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.65.0.tgz", + "integrity": "sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.65.0", + "@typescript-eslint/tsconfig-utils": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/visitor-keys": "8.65.0", + "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/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/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz", + "integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.65.0.tgz", + "integrity": "sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.65.0", + "@typescript-eslint/types": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.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/visitor-keys": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.65.0.tgz", + "integrity": "sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.65.0", + "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/@typescript-eslint/visitor-keys/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/@ungap/structured-clone": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz", + "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", + "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": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi/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/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "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==", + "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/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/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.12.1.tgz", + "integrity": "sha512-s7iGf5GaVMxEG0ENN9x+xTr7GFZCb1ZP/1uATUpCEK2X78nDB3RwbtFCo9pGAf9ru+VwoQ464DkaLEeRM08wJA==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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.11.4", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.4.tgz", + "integrity": "sha512-s4+sLr9mZ/CyqeRritFeYV/Zx73OAtmaHn6kkBS1XRoJn1hrg3xIDUcpicAEX68tkcIN0iBCgti31C8zxtkhsQ==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz", + "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", + "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.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz", + "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==", + "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.44", + "caniuse-lite": "^1.0.30001806", + "electron-to-chromium": "^1.5.393", + "node-releases": "^2.0.51", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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/caniuse-lite": { + "version": "1.0.30001806", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", + "integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==", + "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/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "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/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==", + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "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==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dompurify": { + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.12.tgz", + "integrity": "sha512-zQvGet8Z2sWbQhCmfFz/T5QWH2oBmjnqK3qvOjaqaNLrLEF912WamU+ohnTp0TCep/MFVHpdJuCZEdFOdTnEFg==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "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==", + "dev": true, + "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/electron-to-chromium": { + "version": "1.5.396", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.396.tgz", + "integrity": "sha512-yHiw2Y3C3H9U6TMbOfoWK/BPreiOPXRfTWPBwQBoZG6/8TB6eOPnsy5oaRYuatR7Fw2SJ4kKforgufeo7fq0EQ==", + "dev": true, + "license": "ISC" + }, + "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/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-abstract": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract-get": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-abstract-get/-/es-abstract-get-1.0.0.tgz", + "integrity": "sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.2", + "is-callable": "^1.2.7", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.4.0.tgz", + "integrity": "sha512-c/A0P0oxkACDc+cKWw8evLXK83oBKgn0qPOqCYT4x9uolpCIJAcYvJC9QYKNDRPsTeGyCrQ326jrvgZWdCdK5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.4.tgz", + "integrity": "sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-abstract-get": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "is-callable": "^1.2.7", + "is-date-object": "^1.1.0", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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": "9.39.5", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.5.tgz", + "integrity": "sha512-DgZS62aPLXKlnxILS/AYCoRvHaZeXceIzlXPkkGGzJWSow1aEk0lbTlxUSlyjC8jcaKxAdOnTDz+o1JFSBsyjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.6", + "@eslint/js": "9.39.5", + "@eslint/plugin-kit": "^0.4.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", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.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", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.2.12.tgz", + "integrity": "sha512-iaaf4vvKo5h2LBdGt0JuRv7t0Ysqr9FMCiFxbptDg8LqOE//mIKR80DdpOnSVM7qjLH3jT8P0aFiwXxBEGZRXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.2.12", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", + "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.16.1", + "resolve": "^2.0.0-next.6" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.14.0.tgz", + "integrity": "sha512-W2WCRZ9Dqntd+2u8jJcVMV2PKulc6RdLgUUoh/yQr3uB6lo/ZOeGx11sv60/8S4QFFKNslAlWhr9u0Ef7ZW6Ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "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-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "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/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.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/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "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-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/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/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/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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/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": "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.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.3.tgz", + "integrity": "sha512-/zipXxyO6rGvuNGDiULY9MvEGSkb2gaG4GGH4ygMi0ZZzyMHdUZBmntJmx5x1G2VuPytCwGN4xsJP6cw+sK+vQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/function.prototype.name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fuse.js": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.5.0.tgz", + "integrity": "sha512-sQtrEfA+ez/3G0cCZecF70oqpCRttCexYUG4mUrtWL49ULUzUyxokt5kyqwtKzj1270RaKih+hcP3qLcumccow==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/krisk" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "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-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "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": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz", + "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "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/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "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/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "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/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "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-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/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/katex": { + "version": "0.16.47", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz", + "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "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/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "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/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/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "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/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/marked": { + "version": "18.0.7", + "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.7.tgz", + "integrity": "sha512-iDVQ5ldaiKXn6b2JroX5kgRfmwgqolW7NpaEzTl1k/2Zh1njIEN9yniyLV/mOvWwtsE8OGgkjsCYvijuPk1dtA==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-math": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", + "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "longest-streak": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-math": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "license": "MIT", + "dependencies": { + "@types/katex": "^0.16.0", + "devlop": "^1.0.0", + "katex": "^0.16.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, "node_modules/micromark-factory-title": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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/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/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/nanoid": { + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "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/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/next": { + "version": "16.2.12", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.12.tgz", + "integrity": "sha512-iD59eYQWmbFcEbX7v/acG5DRym9iw1DdaPoD0WTA920naWsE25wShzJW4+UvAs8MK9EC2kBfIH6vtto1H1PHGw==", + "license": "MIT", + "dependencies": { + "@next/env": "16.2.12", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.9.19", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=20.9.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "16.2.12", + "@next/swc-darwin-x64": "16.2.12", + "@next/swc-linux-arm64-gnu": "16.2.12", + "@next/swc-linux-arm64-musl": "16.2.12", + "@next/swc-linux-x64-gnu": "16.2.12", + "@next/swc-linux-x64-musl": "16.2.12", + "@next/swc-win32-arm64-msvc": "16.2.12", + "@next/swc-win32-x64-msvc": "16.2.12", + "sharp": "^0.34.5" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-mdx-remote": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-6.0.0.tgz", + "integrity": "sha512-cJEpEZlgD6xGjB4jL8BnI8FaYdN9BzZM4NwadPe1YQr7pqoWjg9EBCMv3nXBkuHqMRfv2y33SzUsuyNh9LFAQQ==", + "license": "MPL-2.0", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@mdx-js/mdx": "^3.0.1", + "@mdx-js/react": "^3.0.1", + "unist-util-remove": "^4.0.0", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.1", + "vfile-matter": "^5.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=7" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/node-exports-info": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.2.tgz", + "integrity": "sha512-kXs9Go0cah0qHVV2v389IXQLdLCeE1xfFtjOAF+iobu0OIoG1pje8At2vMHyaPMiPMnG/LWP50twML21eMcAag==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-releases": { + "version": "2.0.51", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", + "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/own-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.2.tgz", + "integrity": "sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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/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==", + "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/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "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/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", "license": "MIT", "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", "license": "MIT", "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "node_modules/rehype-katex": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", + "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/katex": "^0.16.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "katex": "^0.16.0", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-math": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", + "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-math": "^3.0.0", + "micromark-extension-math": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.2", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.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-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], "license": "MIT", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, "license": "MIT", "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/micromark-util-decode-numeric-character-reference": { + "node_modules/set-function-name": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/micromark-util-events-to-acorn": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", - "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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": { - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "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/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "dev": true, "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "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/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", + "dev": true, "license": "MIT", "dependencies": { - "micromark-util-types": "^2.0.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", + "dev": true, "license": "MIT", "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.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.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromark-util-subtokenize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "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==", + "dev": true, "license": "MIT", "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" + "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/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, "license": "MIT" }, - "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/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/parse-entities": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", - "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "node_modules/string.prototype.trim": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", + "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", + "dev": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "has-property-descriptors": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/property-information": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", - "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "node_modules/string.prototype.trimend": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", + "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/react": { - "version": "19.2.8", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", - "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/recma-build-jsx": { + "node_modules/strip-bom-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", - "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "vfile": "^6.0.0" + "engines": { + "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, + "license": "MIT", + "engines": { + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/recma-jsx": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", - "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", "license": "MIT", "dependencies": { - "acorn-jsx": "^5.0.0", - "estree-util-to-js": "^2.0.0", - "recma-parse": "^1.0.0", - "recma-stringify": "^1.0.0", - "unified": "^11.0.0" + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 12.0.0" }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/recma-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", - "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "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": { - "@types/estree": "^1.0.0", - "esast-util-from-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" + "has-flag": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/recma-stringify": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", - "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "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", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-to-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rehype-katex": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", - "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", + "node_modules/third-party-capital": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/third-party-capital/-/third-party-capital-1.0.20.tgz", + "integrity": "sha512-oB7yIimd8SuGptespDAZnNkzIz+NWaJCu2RMsbs4Wmp9zSDUM8Nhi3s2OOcqYuv3mN4hitXc8DVx+LyUmbUDiA==", + "license": "ISC" + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", - "@types/katex": "^0.16.0", - "hast-util-from-html-isomorphic": "^2.0.0", - "hast-util-to-text": "^4.0.0", - "katex": "^0.16.0", - "unist-util-visit-parents": "^6.0.0", - "vfile": "^6.0.0" + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/rehype-recma": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", - "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "node_modules/tinyglobby/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", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "hast-util-to-estree": "^3.0.0" + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/remark-math": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", - "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", + "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": { - "@types/mdast": "^4.0.0", - "mdast-util-math": "^3.0.0", - "micromark-extension-math": "^3.0.0", - "unified": "^11.0.0" + "is-number": "^7.0.0" }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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/remark-mdx": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", - "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, "license": "MIT", "dependencies": { - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" + "minimist": "^1.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/remark-rehype": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", - "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "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==", + "license": "0BSD" + }, + "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": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" + "prelude-ls": "^1.2.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, "license": "MIT", "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "license": "BSD-3-Clause", + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, "engines": { - "node": ">= 12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "node_modules/typed-array-length": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", + "dev": true, "license": "MIT", "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "license": "MIT", + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=0.10.0" + "node": ">=14.17" } }, - "node_modules/style-to-js": { - "version": "1.1.21", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", - "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "node_modules/typescript-eslint": { + "version": "8.65.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.65.0.tgz", + "integrity": "sha512-/ggrHAwyjENDusvyxbuqxAC2dTnZg/Z8F+fgQtYIz+L6n/9HfSlEZcFGV/NsMNa6CkGk0xUjUAFwC0vHOflvIA==", + "dev": true, "license": "MIT", "dependencies": { - "style-to-object": "1.0.14" + "@typescript-eslint/eslint-plugin": "8.65.0", + "@typescript-eslint/parser": "8.65.0", + "@typescript-eslint/typescript-estree": "8.65.0", + "@typescript-eslint/utils": "8.65.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/style-to-object": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", - "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, "license": "MIT", "dependencies": { - "inline-style-parser": "0.2.7" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "node_modules/unified": { "version": "11.0.5", @@ -2067,6 +7963,21 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-remove": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-4.0.0.tgz", + "integrity": "sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-remove-position": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", @@ -2123,6 +8034,85 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unrs-resolver": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.4" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" + } + }, + "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/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -2151,6 +8141,20 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vfile-matter": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vfile-matter/-/vfile-matter-5.0.1.tgz", + "integrity": "sha512-o6roP82AiX0XfkyTHyRCMXgHfltUNlXSEqCIS80f+mbAyiQBE2fxtDVMtseyytGx75sihiJFo/zR6r/4LTs2Cw==", + "license": "MIT", + "dependencies": { + "vfile": "^6.0.0", + "yaml": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vfile-message": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", @@ -2175,6 +8179,179 @@ "url": "https://github.com/sponsors/wooorm" } }, + "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/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "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" + } + }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", diff --git a/package.json b/package.json index a877b703..09db6dfd 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,33 @@ { + "name": "stemformulas-next", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev -p 8501", + "build": "next build", + "start": "next start", + "lint": "eslint" + }, "dependencies": { - "@mdx-js/mdx": "^3.1.1", - "@mdx-js/react": "^3.1.1", - "@next/mdx": "^16.2.12", + "@next/third-parties": "^16.2.12", + "dompurify": "^3.4.12", + "fuse.js": "^7.5.0", "gray-matter": "^4.0.3", + "marked": "^18.0.7", + "next": "16.2.12", + "next-mdx-remote": "^6.0.0", + "react": "19.2.4", + "react-dom": "19.2.4", "rehype-katex": "^7.0.1", "remark-math": "^6.0.0" + }, + "devDependencies": { + "@types/dompurify": "^3.0.5", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.12", + "typescript": "^5" } } diff --git a/public/404.html b/public/404.html new file mode 100644 index 00000000..99631a0d --- /dev/null +++ b/public/404.html @@ -0,0 +1,7 @@ +404 Page not found · stemformulas + + +

Page Not Found 😕

Error 404

It seems that the page you've requested does not exist.

\ No newline at end of file diff --git a/static/CNAME b/public/CNAME similarity index 100% rename from static/CNAME rename to public/CNAME diff --git a/public/about/index.html b/public/about/index.html new file mode 100644 index 00000000..7db500cc --- /dev/null +++ b/public/about/index.html @@ -0,0 +1,9 @@ +about · stemformulas + + +

about

Stemformulas is a website dedicated to providing a single place to look for STEM formulas.

It was made by a few engineering students who were frustrated with the current state of formula searching online: +Kevin Lin and Pranjal Biswas, both based in Vancouver, Canada.

We hope you find this site useful!

Tech Stack #

This site is made with the static website framework Hugo using the Congo theme, with many HTML/CSS/JS additions from our team.

It is hosted on GitHub Pages, deployed conveniently with GitHub Actions.

Contributing #

If you want to add a formula to this site, there are two ways you can do so. The first way is easier for you and more work for us, and the second way is the opposite:

  1. Submit all the relevant information about the formula to our Google Form (can also be filled out on our suggest page).

  2. Create a pull request on the +GitHub repo. More detailed instructions can be found in the README.

Suggestions/corrections #

If you think you’ve found a mistake in one of the formula pages or if you otherwise have some suggestions, please make a GitHub account and submit an issue here.

\ No newline at end of file diff --git a/public/about/index.xml b/public/about/index.xml new file mode 100644 index 00000000..45b3bac5 --- /dev/null +++ b/public/about/index.xml @@ -0,0 +1 @@ +about on stemformulashttps://stemformulas.com/about/Recent content in about on stemformulasHugo -- gohugo.ioen \ No newline at end of file diff --git a/static/android-chrome-192x192.png b/public/android-chrome-192x192.png similarity index 100% rename from static/android-chrome-192x192.png rename to public/android-chrome-192x192.png diff --git a/static/android-chrome-512x512.png b/public/android-chrome-512x512.png similarity index 100% rename from static/android-chrome-512x512.png rename to public/android-chrome-512x512.png diff --git a/static/apple-touch-icon.png b/public/apple-touch-icon.png similarity index 100% rename from static/apple-touch-icon.png rename to public/apple-touch-icon.png diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 00000000..6f884849 --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,7 @@ +Categories · stemformulas + + +

categories

    \ No newline at end of file diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 00000000..624752c3 --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1 @@ +Categories on stemformulashttps://stemformulas.com/categories/Recent content in Categories on stemformulasHugo -- gohugo.ioen \ No newline at end of file diff --git a/public/css/main.bundle.min.2f8a8574135e63138441ef1bc068220172267b347c0b9fe5c876ed00628ebbb27f0710b219e441730aa3ed103da9b6020243f47aa56dbe2e1f7bb39f4bb9b7a8.css b/public/css/main.bundle.min.2f8a8574135e63138441ef1bc068220172267b347c0b9fe5c876ed00628ebbb27f0710b219e441730aa3ed103da9b6020243f47aa56dbe2e1f7bb39f4bb9b7a8.css new file mode 100644 index 00000000..85ae9dd1 --- /dev/null +++ b/public/css/main.bundle.min.2f8a8574135e63138441ef1bc068220172267b347c0b9fe5c876ed00628ebbb27f0710b219e441730aa3ed103da9b6020243f47aa56dbe2e1f7bb39f4bb9b7a8.css @@ -0,0 +1 @@ +:root{--color-neutral:255, 255, 255;--color-neutral-50:249, 250, 251;--color-neutral-100:243, 244, 246;--color-neutral-200:229, 231, 235;--color-neutral-300:209, 213, 219;--color-neutral-400:156, 163, 175;--color-neutral-500:107, 114, 128;--color-neutral-600:75, 85, 99;--color-neutral-700:55, 65, 81;--color-neutral-800:31, 41, 55;--color-neutral-900:17, 24, 39;--color-primary-50:248, 250, 252;--color-primary-100:241, 245, 249;--color-primary-200:226, 232, 240;--color-primary-300:203, 213, 225;--color-primary-400:148, 163, 184;--color-primary-500:100, 116, 139;--color-primary-600:71, 85, 105;--color-primary-700:51, 65, 85;--color-primary-800:30, 41, 59;--color-primary-900:15, 23, 42;--color-secondary-50:249, 250, 251;--color-secondary-100:243, 244, 246;--color-secondary-200:229, 231, 235;--color-secondary-300:209, 213, 219;--color-secondary-400:156, 163, 175;--color-secondary-500:107, 114, 128;--color-secondary-600:75, 85, 99;--color-secondary-700:55, 65, 81;--color-secondary-800:31, 41, 55;--color-secondary-900:17, 24, 39}/*!Congo v2.6.1 | MIT License | https://github.com/jpanther/congo*//*!tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:initial}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500;text-decoration-color:rgba(var(--color-primary-300),1)}.prose :where(a):not(:where([class~=not-prose] *)):hover{color:rgba(var(--color-neutral),1);text-decoration:none;background-color:rgba(var(--color-primary-600),1);border-radius:.09rem}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *))::before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose] *))::before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *))::after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code)}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose] *))::before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *))::after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:rgba(var(--color-neutral-700), 1);--tw-prose-headings:rgba(var(--color-neutral-800), 1);--tw-prose-lead:rgba(var(--color-neutral-500), 1);--tw-prose-links:rgba(var(--color-primary-700), 1);--tw-prose-bold:rgba(var(--color-neutral-900), 1);--tw-prose-counters:rgba(var(--color-neutral-800), 1);--tw-prose-bullets:rgba(var(--color-neutral-500), 1);--tw-prose-hr:rgba(var(--color-neutral-200), 1);--tw-prose-quotes:rgba(var(--color-neutral-700), 1);--tw-prose-quote-borders:rgba(var(--color-primary-200), 1);--tw-prose-captions:rgba(var(--color-neutral-500), 1);--tw-prose-code:rgba(var(--color-secondary-700), 1);--tw-prose-pre-code:rgba(var(--color-neutral-700), 1);--tw-prose-pre-bg:rgba(var(--color-neutral-50), 1);--tw-prose-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-td-borders:rgba(var(--color-neutral-300), 1);--tw-prose-invert-body:rgba(var(--color-neutral-300), 1);--tw-prose-invert-headings:rgba(var(--color-neutral-50), 1);--tw-prose-invert-lead:rgba(var(--color-neutral-500), 1);--tw-prose-invert-links:rgba(var(--color-primary-400), 1);--tw-prose-invert-bold:rgba(var(--color-neutral), 1);--tw-prose-invert-counters:rgba(var(--color-neutral-400), 1);--tw-prose-invert-bullets:rgba(var(--color-neutral-600), 1);--tw-prose-invert-hr:rgba(var(--color-neutral-500), 1);--tw-prose-invert-quotes:rgba(var(--color-neutral-200), 1);--tw-prose-invert-quote-borders:rgba(var(--color-primary-900), 1);--tw-prose-invert-captions:rgba(var(--color-neutral-400), 1);--tw-prose-invert-code:rgba(var(--color-secondary-400), 1);--tw-prose-invert-pre-code:rgba(var(--color-neutral-200), 1);--tw-prose-invert-pre-bg:rgba(var(--color-neutral-700), 1);--tw-prose-invert-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-invert-td-borders:rgba(var(--color-neutral-700), 1);font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose :where(kbd):not(:where([class~=not-prose] *)){background-color:rgba(var(--color-neutral-200),1);padding:.1rem .4rem;border-radius:.25rem;font-size:.9rem;font-weight:600}.prose :where(mark):not(:where([class~=not-prose] *)){color:rgba(var(--color-neutral-800),1);background-color:rgba(var(--color-secondary-200),1);padding:.1rem .2rem;border-radius:.12rem}body a,body button{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.icon svg{height:1em;width:1em}#search-query::-webkit-search-cancel-button,#search-query::-webkit-search-decoration,#search-query::-webkit-search-results-button,#search-query::-webkit-search-results-decoration{display:none}body:has(#menu-controller:checked){height:100vh;overflow:hidden}#menu-button:has(#menu-controller:checked){visibility:hidden}#menu-controller:checked~#menu-wrapper{visibility:visible;opacity:1}:is([dir=rtl] .prose blockquote){border-left-width:0;border-right-width:4px;padding-right:1rem}:is([dir=rtl] .prose ul>li),:is([dir=rtl] .prose ol>li){margin-right:1.75rem;padding-left:0;padding-right:.5rem}:is([dir=rtl] .prose ol>li):before,:is([dir=rtl] .prose ul>li):before{left:auto;right:.25rem}:is([dir=rtl] .prose thead td:first-child),:is([dir=rtl] .prose thead th:first-child){padding-right:0}:is([dir=rtl] .prose thead td:last-child),:is([dir=rtl] .prose thead th:last-child){padding-left:0}.prose div.min-w-0.max-w-prose>*:first-child{margin-top:.75rem}.toc ul,.toc li{list-style-type:none;padding-left:0;padding-right:0;line-height:1.375}.toc ul ul{-webkit-padding-start:1rem;padding-inline-start:1rem}.toc a{font-weight:400;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .toc a){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}:is([dir=rtl] .toc ul>li){margin-right:0}.highlight-wrapper{display:block}.highlight{position:relative;z-index:0}.highlight:hover>.copy-button{visibility:visible}.copy-button{visibility:hidden;position:absolute;right:0;top:0;z-index:10;width:5rem;cursor:pointer;white-space:nowrap;border-bottom-left-radius:.375rem;border-top-right-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-200),var(--tw-bg-opacity));padding-top:.25rem;padding-bottom:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity));opacity:.9}:is(.dark .copy-button){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity))}.copy-button:hover,.copy-button:focus,.copy-button:active,.copy-button:active:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}:is(.dark .copy-button:hover),:is(.dark .copy-button:focus),:is(.dark .copy-button:active),:is(.dark .copy-button:active:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.copy-textarea{position:absolute;z-index:-10;opacity:.05}.chroma{border-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-50),var(--tw-bg-opacity));padding-top:.75rem;padding-bottom:.75rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .chroma){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity))}.chroma pre{margin:0;padding:0}.chroma .lntable{margin:0;display:block;width:auto;overflow:auto;font-size:1rem;line-height:1.5rem}.chroma .lnt,.chroma .ln{margin-right:.5rem;padding-left:.5rem;padding-right:.5rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-600),var(--tw-text-opacity))}:is(.dark .chroma .lnt),:is(.dark .chroma .ln){--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity))}.chroma .lntd{padding:0;vertical-align:top}.chroma .lntd:last-of-type{width:100%}.chroma .hl{display:block;width:100%;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}:is(.dark .chroma .hl){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .nc,.chroma .fm,.chroma .nn,.chroma .vc,.chroma .o{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}:is(.dark .chroma .k),:is(.dark .chroma .kd),:is(.dark .chroma .kn),:is(.dark .chroma .kp),:is(.dark .chroma .kr),:is(.dark .chroma .nc),:is(.dark .chroma .fm),:is(.dark .chroma .nn),:is(.dark .chroma .vc),:is(.dark .chroma .o){--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity))}.chroma .kc{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .kc){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .kt,.chroma .nv,.chroma .vi,.chroma .vm,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .kt),:is(.dark .chroma .nv),:is(.dark .chroma .vi),:is(.dark .chroma .vm),:is(.dark .chroma .m),:is(.dark .chroma .mb),:is(.dark .chroma .mf),:is(.dark .chroma .mh),:is(.dark .chroma .mi),:is(.dark .chroma .il),:is(.dark .chroma .mo){--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity))}.chroma .n,.chroma .nd,.chroma .ni,.chroma .nl{--tw-text-opacity:1;color:rgba(var(--color-secondary-900),var(--tw-text-opacity))}:is(.dark .chroma .n),:is(.dark .chroma .nd),:is(.dark .chroma .ni),:is(.dark .chroma .nl){--tw-text-opacity:1;color:rgba(var(--color-secondary-200),var(--tw-text-opacity))}.chroma .na,.chroma .nb,.chroma .bp,.chroma .nx,.chroma .py,.chroma .nt{--tw-text-opacity:1;color:rgba(var(--color-secondary-800),var(--tw-text-opacity))}:is(.dark .chroma .na),:is(.dark .chroma .nb),:is(.dark .chroma .bp),:is(.dark .chroma .nx),:is(.dark .chroma .py),:is(.dark .chroma .nt){--tw-text-opacity:1;color:rgba(var(--color-secondary-300),var(--tw-text-opacity))}.chroma .no,.chroma .ne,.chroma .vg{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .no),:is(.dark .chroma .ne),:is(.dark .chroma .vg){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .nf{--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity))}:is(.dark .chroma .nf){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .l,.chroma .ld,.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .sh,.chroma .si,.chroma .sx,.chroma .s1,.chroma .gi,.chroma .go,.chroma .gp{--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}:is(.dark .chroma .l),:is(.dark .chroma .ld),:is(.dark .chroma .s),:is(.dark .chroma .sa),:is(.dark .chroma .sb),:is(.dark .chroma .sc),:is(.dark .chroma .dl),:is(.dark .chroma .sd),:is(.dark .chroma .s2),:is(.dark .chroma .sh),:is(.dark .chroma .si),:is(.dark .chroma .sx),:is(.dark .chroma .s1),:is(.dark .chroma .gi),:is(.dark .chroma .go),:is(.dark .chroma .gp){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.chroma .se{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .se){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .sr,.chroma .ss{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}:is(.dark .chroma .sr),:is(.dark .chroma .ss){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.chroma .ow{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .chroma .ow){--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.chroma .c,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .chroma .c),:is(.dark .chroma .cm),:is(.dark .chroma .c1),:is(.dark .chroma .cs),:is(.dark .chroma .cp),:is(.dark .chroma .cpf){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.chroma .ch{font-weight:600;font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .chroma .ch){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.chroma .ge{font-style:italic}.chroma .gh{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.chroma .gs{font-weight:600}.chroma .gu,.chroma .gt{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.chroma .gl{text-decoration-line:underline}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-start-6{inset-inline-start:-1.5rem}.bottom-0{bottom:0}.end-0{inset-inline-end:0}.top-0{top:0}.top-20{top:5rem}.top-\[100vh\]{top:100vh}.top-\[calc\(100vh-5\.5rem\)\]{top:calc(100vh - 5.5rem)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-first{order:-9999}.m-1{margin:.25rem}.m-auto{margin:auto}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.\!mb-0{margin-bottom:0!important}.\!mb-9{margin-bottom:2.25rem!important}.\!mt-0{margin-top:0!important}.-mb-1{margin-bottom:-.25rem}.-ms-5{-webkit-margin-start:-1.25rem;margin-inline-start:-1.25rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-\[2px\]{margin-bottom:2px}.me-14{-webkit-margin-end:3.5rem;margin-inline-end:3.5rem}.me-2{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.me-4{-webkit-margin-end:1rem;margin-inline-end:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.ms-1{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.ms-2{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[0\.1rem\]{margin-top:.1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.h-12{height:3rem}.h-24{height:6rem}.h-36{height:9rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[10rem\]{max-height:10rem}.max-h-\[4\.5rem\]{max-height:4.5rem}.min-h-0{min-height:0}.w-12{width:3rem}.w-24{width:6rem}.w-36{width:9rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[1\.8rem\]{min-width:1.8rem}.min-w-\[2\.4rem\]{min-width:2.4rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[6rem\]{max-width:6rem}.max-w-full{max-width:100%}.max-w-prose{max-width:65ch}.flex-auto{flex:auto}.flex-none{flex:none}.grow{flex-grow:1}.-translate-y-8{--tw-translate-y:-2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.place-self-center{place-self:center}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.scroll-smooth{scroll-behavior:smooth}.\!rounded-md{border-radius:.375rem!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.border{border-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-dotted{border-style:dotted}.border-neutral-200{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-200),var(--tw-border-opacity))}.border-neutral-300{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-300),var(--tw-border-opacity))}.border-neutral-400{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-400),var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity:1;border-color:rgba(var(--color-primary-400),var(--tw-border-opacity))}.bg-neutral{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral),var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-100),var(--tw-bg-opacity))}.bg-neutral-100\/50{background-color:rgba(var(--color-neutral-100),.5)}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-300),var(--tw-bg-opacity))}.bg-neutral-500\/50{background-color:rgba(var(--color-neutral-500),.5)}.bg-neutral\/50{background-color:rgba(var(--color-neutral),.5)}.bg-primary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-200),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-left{-o-object-position:left;object-position:left}.p-1{padding:.25rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-4{padding-bottom:1rem}.pe-2{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.pe-3{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.pe-4{-webkit-padding-end:1rem;padding-inline-end:1rem}.pe-5{-webkit-padding-end:1.25rem;padding-inline-end:1.25rem}.ps-2{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.ps-5{-webkit-padding-start:1.25rem;padding-inline-start:1.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-text-bottom{vertical-align:text-bottom}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.\!text-neutral{--tw-text-opacity:1 !important;color:rgba(var(--color-neutral),var(--tw-text-opacity))!important}.text-neutral-400{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity:1;color:rgba(var(--color-neutral-900),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.\!no-underline{text-decoration-line:none!important}.decoration-neutral-300{text-decoration-color:rgba(var(--color-neutral-300),1)}.decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}:is(.dark .dark\:prose-invert){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}:is(.dark .dark\:prose-invert) :where(a):not(:where([class~=not-prose] *)){text-decoration-color:rgba(var(--color-neutral-600),1)}:is(.dark .dark\:prose-invert) :where(kbd):not(:where([class~=not-prose] *)){color:rgba(var(--color-neutral-200),1);background-color:rgba(var(--color-neutral-700),1)}:is(.dark .dark\:prose-invert) :where(mark):not(:where([class~=not-prose] *)){background-color:rgba(var(--color-secondary-400),1)}.first\:mt-8:first-child{margin-top:2rem}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:rgba(var(--color-primary-300),var(--tw-border-opacity))}.hover\:\!bg-primary-500:hover{--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))!important}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.hover\:text-neutral:hover{--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity))}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary-400:hover{text-decoration-color:rgba(var(--color-primary-400),1)}.hover\:decoration-2:hover{text-decoration-thickness:2px}.hover\:underline-offset-2:hover{text-underline-offset:2px}.focus\:translate-y-0:focus{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.focus\:bg-primary-100:focus{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.focus\:outline-dotted:focus{outline-style:dotted}.focus\:outline-2:focus{outline-width:2px}.focus\:outline-transparent:focus{outline-color:transparent}.group:hover .group-hover\:-translate-x-\[2px\]{--tw-translate-x:-2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-primary-300{--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity))}.group:hover .group-hover\:text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.group:hover .group-hover\:decoration-2{text-decoration-thickness:2px}.group:hover .group-hover\:underline-offset-2{text-underline-offset:2px}.group:hover .group-hover\:opacity-100{opacity:1}:is([dir=ltr] .ltr\:block){display:block}:is([dir=ltr] .ltr\:inline){display:inline}:is([dir=ltr] .ltr\:hidden){display:none}:is([dir=ltr] .ltr\:text-right){text-align:right}:is([dir=rtl] .rtl\:block){display:block}:is([dir=rtl] .rtl\:inline){display:inline}:is([dir=rtl] .rtl\:hidden){display:none}:is([dir=rtl] .rtl\:text-left){text-align:left}:is(.dark .dark\:inline){display:inline}:is(.dark .dark\:flex){display:flex}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:border-neutral-600){--tw-border-opacity:1;border-color:rgba(var(--color-neutral-600),var(--tw-border-opacity))}:is(.dark .dark\:border-neutral-700){--tw-border-opacity:1;border-color:rgba(var(--color-neutral-700),var(--tw-border-opacity))}:is(.dark .dark\:border-primary-600){--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}:is(.dark .dark\:bg-neutral-600){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-700){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-800){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-800),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-800\/50){background-color:rgba(var(--color-neutral-800),.5)}:is(.dark .dark\:bg-neutral-900\/50){background-color:rgba(var(--color-neutral-900),.5)}:is(.dark .dark\:bg-primary-400){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-800){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-800),var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-900){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .dark\:text-neutral){--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-100){--tw-text-opacity:1;color:rgba(var(--color-neutral-100),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-300){--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-400){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-500){--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-800){--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}:is(.dark .dark\:text-primary-400){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .dark\:hover\:border-primary-600:hover){--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}:is(.dark .dark\:hover\:\!bg-primary-700:hover){--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-700),var(--tw-bg-opacity))!important}:is(.dark .dark\:hover\:bg-primary-400:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary-900:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-neutral-800:hover){--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-primary-400:hover){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .dark\:focus\:bg-primary-900:focus){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .group:hover .dark\:group-hover\:text-neutral-700){--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .group:hover .dark\:group-hover\:text-primary-400){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}@media print{.print\:hidden{display:none}}@media(min-width:640px){.sm\:mb-0{margin-bottom:0}.sm\:me-7{-webkit-margin-end:1.75rem;margin-inline-end:1.75rem}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:max-h-\[7\.5rem\]{max-height:7.5rem}.sm\:w-1\/2{width:50%}.sm\:w-40{width:10rem}.sm\:max-w-\[10rem\]{max-width:10rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-6{padding:1.5rem}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:pe-6{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.sm\:pt-10{padding-top:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:last\:me-0:last-child{-webkit-margin-end:0;margin-inline-end:0}.sm\:last\:me-0\.5:last-child{-webkit-margin-end:.125rem;margin-inline-end:.125rem}}@media(min-width:768px){.md\:w-1\/3{width:33.333333%}.md\:p-\[10vh\]{padding:10vh}.md\:px-24{padding-left:6rem;padding-right:6rem}}@media(min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-10{top:2.5rem}.lg\:order-last{order:9999}.lg\:hidden{display:none}.lg\:w-1\/4{width:25%}.lg\:max-w-xs{max-width:20rem}.lg\:flex-row{flex-direction:row}.lg\:p-\[12vh\]{padding:12vh}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:ps-8{-webkit-padding-start:2rem;padding-inline-start:2rem}}@media(min-width:1280px){.xl\:w-1\/5{width:20%}}.sm\:items-start{align-items:start}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.ml-4{margin-left:1rem}.mr-4{margin-right:1rem}ul,ol{margin:0;margin-bottom:0;padding:0;list-style-type:none}ul.image-tags li{display:inline-block;padding:0;margin:0}ul.image-tags li a:hover,ul.image-tags li a.filtered,ul.image-tags li form{background:#f7421b;opacity:1;text-decoration:none;border:none}ul.image-tags li a:link,ul.image-tags li a:visited,ul.image-tags li form{display:inline-block;padding:3px 10px 5px;margin:0 5px 10px 0;background:#2b2b33;color:#fff;-webkit-transition:.3s;-webkit-border-radius:8px;-moz-border-radius:8px}.tag-opacity-1{opacity:.43}.tag-opacity-2{opacity:.46}.tag-opacity-3{opacity:.49}.tag-opacity-4{opacity:.42}.tag-opacity-5{opacity:.55}.tag-opacity-6{opacity:.58}.tag-opacity-7{opacity:.61}.tag-opacity-8{opacity:.64}.tag-opacity-9{opacity:.67}.tag-opacity-10{opacity:.7}.tag-opacity-11{opacity:.73}.tag-opacity-12{opacity:.76}.tag-opacity-13{opacity:.79}.tag-opacity-14{opacity:.82}.tag-opacity-15{opacity:.85}.tag-opacity-16{opacity:.88}.tag-opacity-17{opacity:.91}.tag-opacity-18{opacity:.94}.tag-opacity-19{opacity:.97}.tag-opacity-20{opacity:1}.animated{animation:rotating .7s ease 0s 1 normal forwards}@keyframes rotating{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.focus\:bg-primary-100:focus{--tw-bg-opacity:1;background-color:rgba(180,180,180,var(--tw-bg-opacity))}.katex-html{font-size:1.2em;color:#000}.katex-display katex{padding-left:.5em!important;text-align:left}.katex{padding-left:0!important}.mt-8{margin-top:2rem}.mt-4{margin-top:1rem}.mt-2{margin-top:.5rem}.mt-1{margin-top:.25rem}.mt-0{margin-top:0}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.border-neutral-200{border-width:1px;border-color:rgba(180,180,180,var(--tw-bg-opacity))}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.ml-1{margin-left:.15rem}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(100,100,100,var(--tw-bg-opacity))}.lg\:p-\[2vh\]{padding:2vh}img[alt=diagram]{width:400px}.grid-container a{border-width:1px;border-radius:20px;border-color:#a9a9a9;overflow:hidden;padding:10px}.grid-container{display:grid;grid-template-columns:auto;gap:15px}@media(min-width:640px){.grid-container{grid-template-columns:auto auto}}@media(min-width:1024px){.grid-container{grid-template-columns:auto auto auto}} \ No newline at end of file diff --git a/public/css/main.bundle.min.7948eb3e8ee27dc6582500b44889312a19ddd9ddd97ba539aaa88ffc96c9e880760fe941e3b7df443cbe49be2a16c6468147061c4b633586194c6625d722475a.css b/public/css/main.bundle.min.7948eb3e8ee27dc6582500b44889312a19ddd9ddd97ba539aaa88ffc96c9e880760fe941e3b7df443cbe49be2a16c6468147061c4b633586194c6625d722475a.css new file mode 100644 index 00000000..ef966566 --- /dev/null +++ b/public/css/main.bundle.min.7948eb3e8ee27dc6582500b44889312a19ddd9ddd97ba539aaa88ffc96c9e880760fe941e3b7df443cbe49be2a16c6468147061c4b633586194c6625d722475a.css @@ -0,0 +1 @@ +:root{--color-neutral:255, 255, 255;--color-neutral-50:249, 250, 251;--color-neutral-100:243, 244, 246;--color-neutral-200:229, 231, 235;--color-neutral-300:209, 213, 219;--color-neutral-400:156, 163, 175;--color-neutral-500:107, 114, 128;--color-neutral-600:75, 85, 99;--color-neutral-700:55, 65, 81;--color-neutral-800:31, 41, 55;--color-neutral-900:17, 24, 39;--color-primary-50:248, 250, 252;--color-primary-100:241, 245, 249;--color-primary-200:226, 232, 240;--color-primary-300:203, 213, 225;--color-primary-400:148, 163, 184;--color-primary-500:100, 116, 139;--color-primary-600:71, 85, 105;--color-primary-700:51, 65, 85;--color-primary-800:30, 41, 59;--color-primary-900:15, 23, 42;--color-secondary-50:249, 250, 251;--color-secondary-100:243, 244, 246;--color-secondary-200:229, 231, 235;--color-secondary-300:209, 213, 219;--color-secondary-400:156, 163, 175;--color-secondary-500:107, 114, 128;--color-secondary-600:75, 85, 99;--color-secondary-700:55, 65, 81;--color-secondary-800:31, 41, 55;--color-secondary-900:17, 24, 39}/*!Congo v2.5.4 | MIT License | https://github.com/jpanther/congo*//*!tailwindcss v3.2.7 | MIT License | https://tailwindcss.com*/*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:initial}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500;text-decoration-color:rgba(var(--color-primary-300),1)}.prose :where(a):not(:where([class~=not-prose] *)):hover{color:rgba(var(--color-neutral),1);text-decoration:none;background-color:rgba(var(--color-primary-600),1);border-radius:.09rem}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *))::before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose] *))::before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *))::after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code)}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose] *))::before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *))::after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:rgba(var(--color-neutral-700), 1);--tw-prose-headings:rgba(var(--color-neutral-800), 1);--tw-prose-lead:rgba(var(--color-neutral-500), 1);--tw-prose-links:rgba(var(--color-primary-700), 1);--tw-prose-bold:rgba(var(--color-neutral-900), 1);--tw-prose-counters:rgba(var(--color-neutral-800), 1);--tw-prose-bullets:rgba(var(--color-neutral-500), 1);--tw-prose-hr:rgba(var(--color-neutral-200), 1);--tw-prose-quotes:rgba(var(--color-neutral-700), 1);--tw-prose-quote-borders:rgba(var(--color-primary-200), 1);--tw-prose-captions:rgba(var(--color-neutral-500), 1);--tw-prose-code:rgba(var(--color-secondary-700), 1);--tw-prose-pre-code:rgba(var(--color-neutral-700), 1);--tw-prose-pre-bg:rgba(var(--color-neutral-50), 1);--tw-prose-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-td-borders:rgba(var(--color-neutral-300), 1);--tw-prose-invert-body:rgba(var(--color-neutral-300), 1);--tw-prose-invert-headings:rgba(var(--color-neutral-50), 1);--tw-prose-invert-lead:rgba(var(--color-neutral-500), 1);--tw-prose-invert-links:rgba(var(--color-primary-400), 1);--tw-prose-invert-bold:rgba(var(--color-neutral), 1);--tw-prose-invert-counters:rgba(var(--color-neutral-400), 1);--tw-prose-invert-bullets:rgba(var(--color-neutral-600), 1);--tw-prose-invert-hr:rgba(var(--color-neutral-500), 1);--tw-prose-invert-quotes:rgba(var(--color-neutral-200), 1);--tw-prose-invert-quote-borders:rgba(var(--color-primary-900), 1);--tw-prose-invert-captions:rgba(var(--color-neutral-400), 1);--tw-prose-invert-code:rgba(var(--color-secondary-400), 1);--tw-prose-invert-pre-code:rgba(var(--color-neutral-200), 1);--tw-prose-invert-pre-bg:rgba(var(--color-neutral-700), 1);--tw-prose-invert-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-invert-td-borders:rgba(var(--color-neutral-700), 1);font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose :where(kbd):not(:where([class~=not-prose] *)){background-color:rgba(var(--color-neutral-200),1);padding:.1rem .4rem;border-radius:.25rem;font-size:.9rem;font-weight:600}.prose :where(mark):not(:where([class~=not-prose] *)){color:rgba(var(--color-neutral-800),1);background-color:rgba(var(--color-secondary-200),1);padding:.1rem .2rem;border-radius:.12rem}body a,body button{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.icon svg{height:1em;width:1em}#search-query::-webkit-search-cancel-button,#search-query::-webkit-search-decoration,#search-query::-webkit-search-results-button,#search-query::-webkit-search-results-decoration{display:none}body:has(#menu-controller:checked){height:100vh;overflow:hidden}#menu-button:has(#menu-controller:checked){visibility:hidden}#menu-controller:checked~#menu-wrapper{visibility:visible;opacity:1}[dir=rtl] .prose blockquote{border-left-width:0;border-right-width:4px;padding-right:1rem}[dir=rtl] .prose ul>li,[dir=rtl] .prose ol>li{margin-right:1.75rem;padding-left:0;padding-right:.5rem}[dir=rtl] .prose ol>li:before,[dir=rtl] .prose ul>li:before{left:auto;right:.25rem}[dir=rtl] .prose thead td:first-child,[dir=rtl] .prose thead th:first-child{padding-right:0}[dir=rtl] .prose thead td:last-child,[dir=rtl] .prose thead th:last-child{padding-left:0}.prose div.min-w-0.max-w-prose>*:first-child{margin-top:.75rem}.toc ul,.toc li{list-style-type:none;padding-left:0;padding-right:0;line-height:1.375}[dir=ltr] .toc ul ul{padding-left:1rem}[dir=rtl] .toc ul ul{padding-right:1rem}.toc a{font-weight:400;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}.dark .toc a{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}[dir=rtl] .toc ul>li{margin-right:0}.highlight-wrapper{display:block}.highlight{position:relative;z-index:0}.highlight:hover>.copy-button{visibility:visible}.copy-button{visibility:hidden;position:absolute;top:0;right:0;z-index:10;width:5rem;cursor:pointer;white-space:nowrap;border-bottom-left-radius:.375rem;border-top-right-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-200),var(--tw-bg-opacity));padding-top:.25rem;padding-bottom:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity));opacity:.9}.dark .copy-button{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity))}.copy-button:hover,.copy-button:focus,.copy-button:active,.copy-button:active:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.dark .copy-button:hover,.dark .copy-button:focus,.dark .copy-button:active,.dark .copy-button:active:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.copy-textarea{position:absolute;z-index:-10;opacity:.05}.chroma{border-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-50),var(--tw-bg-opacity));padding-top:.75rem;padding-bottom:.75rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}.dark .chroma{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity))}.chroma pre{margin:0;padding:0}.chroma .lntable{margin:0;display:block;width:auto;overflow:auto;font-size:1rem;line-height:1.5rem}.chroma .lnt,.chroma .ln{margin-right:.5rem;padding-left:.5rem;padding-right:.5rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-600),var(--tw-text-opacity))}.dark .chroma .lnt,.dark .chroma .ln{--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity))}.chroma .lntd{padding:0;vertical-align:top}.chroma .lntd:last-of-type{width:100%}.chroma .hl{display:block;width:100%;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.dark .chroma .hl{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .nc,.chroma .fm,.chroma .nn,.chroma .vc,.chroma .o{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.dark .chroma .k,.dark .chroma .kd,.dark .chroma .kn,.dark .chroma .kp,.dark .chroma .kr,.dark .chroma .nc,.dark .chroma .fm,.dark .chroma .nn,.dark .chroma .vc,.dark .chroma .o{--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity))}.chroma .kc{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}.dark .chroma .kc{--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .kt,.chroma .nv,.chroma .vi,.chroma .vm,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}.dark .chroma .kt,.dark .chroma .nv,.dark .chroma .vi,.dark .chroma .vm,.dark .chroma .m,.dark .chroma .mb,.dark .chroma .mf,.dark .chroma .mh,.dark .chroma .mi,.dark .chroma .il,.dark .chroma .mo{--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity))}.chroma .n,.chroma .nd,.chroma .ni,.chroma .nl{--tw-text-opacity:1;color:rgba(var(--color-secondary-900),var(--tw-text-opacity))}.dark .chroma .n,.dark .chroma .nd,.dark .chroma .ni,.dark .chroma .nl{--tw-text-opacity:1;color:rgba(var(--color-secondary-200),var(--tw-text-opacity))}.chroma .na,.chroma .nb,.chroma .bp,.chroma .nx,.chroma .py,.chroma .nt{--tw-text-opacity:1;color:rgba(var(--color-secondary-800),var(--tw-text-opacity))}.dark .chroma .na,.dark .chroma .nb,.dark .chroma .bp,.dark .chroma .nx,.dark .chroma .py,.dark .chroma .nt{--tw-text-opacity:1;color:rgba(var(--color-secondary-300),var(--tw-text-opacity))}.chroma .no,.chroma .ne,.chroma .vg{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}.dark .chroma .no,.dark .chroma .ne,.dark .chroma .vg{--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .nf{--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity))}.dark .chroma .nf{--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .l,.chroma .ld,.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .sh,.chroma .si,.chroma .sx,.chroma .s1,.chroma .gi,.chroma .go,.chroma .gp{--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}.dark .chroma .l,.dark .chroma .ld,.dark .chroma .s,.dark .chroma .sa,.dark .chroma .sb,.dark .chroma .sc,.dark .chroma .dl,.dark .chroma .sd,.dark .chroma .s2,.dark .chroma .sh,.dark .chroma .si,.dark .chroma .sx,.dark .chroma .s1,.dark .chroma .gi,.dark .chroma .go,.dark .chroma .gp{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.chroma .se{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}.dark .chroma .se{--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .sr,.chroma .ss{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}.dark .chroma .sr,.dark .chroma .ss{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.chroma .ow{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.dark .chroma .ow{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.chroma .c,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.dark .chroma .c,.dark .chroma .cm,.dark .chroma .c1,.dark .chroma .cs,.dark .chroma .cp,.dark .chroma .cpf{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.chroma .ch{font-weight:600;font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.dark .chroma .ch{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.chroma .ge{font-style:italic}.chroma .gh{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.chroma .gs{font-weight:600}.chroma .gu,.chroma .gt{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.chroma .gl{text-decoration-line:underline}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.top-0{top:0}.top-20{top:5rem}.top-\[100vh\]{top:100vh}.top-\[calc\(100vh-5\.5rem\)\]{top:calc(100vh - 5.5rem)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-first{order:-9999}.m-1{margin:.25rem}.m-auto{margin:auto}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.\!mb-0{margin-bottom:0!important}.\!mb-9{margin-bottom:2.25rem!important}.\!mt-0{margin-top:0!important}.-mb-1{margin-bottom:-.25rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-\[2px\]{margin-bottom:2px}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[0\.1rem\]{margin-top:.1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.h-12{height:3rem}.h-24{height:6rem}.h-36{height:9rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[10rem\]{max-height:10rem}.max-h-\[4\.5rem\]{max-height:4.5rem}.min-h-0{min-height:0}.w-12{width:3rem}.w-24{width:6rem}.w-36{width:9rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[1\.8rem\]{min-width:1.8rem}.min-w-\[2\.4rem\]{min-width:2.4rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[6rem\]{max-width:6rem}.max-w-full{max-width:100%}.max-w-prose{max-width:65ch}.flex-auto{flex:auto}.flex-none{flex:none}.grow{flex-grow:1}.-translate-y-8{--tw-translate-y:-2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.place-self-center{place-self:center}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.scroll-smooth{scroll-behavior:smooth}.\!rounded-md{border-radius:.375rem!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-dotted{border-style:dotted}.border-neutral-200{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-200),var(--tw-border-opacity))}.border-neutral-300{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-300),var(--tw-border-opacity))}.border-neutral-400{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-400),var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity:1;border-color:rgba(var(--color-primary-400),var(--tw-border-opacity))}.bg-neutral{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral),var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-100),var(--tw-bg-opacity))}.bg-neutral-100\/50{background-color:rgba(var(--color-neutral-100),.5)}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-300),var(--tw-bg-opacity))}.bg-neutral-500\/50{background-color:rgba(var(--color-neutral-500),.5)}.bg-neutral\/50{background-color:rgba(var(--color-neutral),.5)}.bg-primary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-200),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-left{-o-object-position:left;object-position:left}.p-1{padding:.25rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pr-4{padding-right:1rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-text-bottom{vertical-align:text-bottom}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.\!text-neutral{--tw-text-opacity:1 !important;color:rgba(var(--color-neutral),var(--tw-text-opacity))!important}.text-neutral-400{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity:1;color:rgba(var(--color-neutral-900),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.\!no-underline{text-decoration-line:none!important}.decoration-neutral-300{text-decoration-color:rgba(var(--color-neutral-300),1)}.decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.dark .dark\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.dark .dark\:prose-invert :where(a):not(:where([class~=not-prose] *)){text-decoration-color:rgba(var(--color-neutral-600),1)}.dark .dark\:prose-invert :where(kbd):not(:where([class~=not-prose] *)){color:rgba(var(--color-neutral-200),1);background-color:rgba(var(--color-neutral-700),1)}.dark .dark\:prose-invert :where(mark):not(:where([class~=not-prose] *)){background-color:rgba(var(--color-secondary-400),1)}.first\:mt-8:first-child{margin-top:2rem}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:rgba(var(--color-primary-300),var(--tw-border-opacity))}.hover\:\!bg-primary-500:hover{--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))!important}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.hover\:text-neutral:hover{--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity))}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary-400:hover{text-decoration-color:rgba(var(--color-primary-400),1)}.hover\:decoration-2:hover{text-decoration-thickness:2px}.hover\:underline-offset-2:hover{text-underline-offset:2px}.focus\:translate-y-0:focus{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.focus\:bg-primary-100:focus{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.focus\:outline-dotted:focus{outline-style:dotted}.focus\:outline-2:focus{outline-width:2px}.focus\:outline-transparent:focus{outline-color:transparent}.group:hover .group-hover\:-translate-x-\[2px\]{--tw-translate-x:-2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-\[2px\]{--tw-translate-x:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-primary-300{--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity))}.group:hover .group-hover\:text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.group:hover .group-hover\:decoration-2{text-decoration-thickness:2px}.group:hover .group-hover\:underline-offset-2{text-underline-offset:2px}.group:hover .group-hover\:opacity-100{opacity:1}[dir=ltr] .ltr\:-left-6{left:-1.5rem}[dir=ltr] .ltr\:right-0{right:0}[dir=ltr] .ltr\:-ml-5{margin-left:-1.25rem}[dir=ltr] .ltr\:ml-1{margin-left:.25rem}[dir=ltr] .ltr\:ml-2{margin-left:.5rem}[dir=ltr] .ltr\:mr-14{margin-right:3.5rem}[dir=ltr] .ltr\:mr-4{margin-right:1rem}[dir=ltr] .ltr\:block{display:block}[dir=ltr] .ltr\:inline{display:inline}[dir=ltr] .ltr\:hidden{display:none}[dir=ltr] .ltr\:border-l{border-left-width:1px}[dir=ltr] .ltr\:pl-5{padding-left:1.25rem}[dir=ltr] .ltr\:pr-2{padding-right:.5rem}[dir=ltr] .ltr\:pr-3{padding-right:.75rem}[dir=ltr] .ltr\:text-right{text-align:right}[dir=rtl] .rtl\:-right-6{right:-1.5rem}[dir=rtl] .rtl\:left-0{left:0}[dir=rtl] .rtl\:-mr-5{margin-right:-1.25rem}[dir=rtl] .rtl\:ml-14{margin-left:3.5rem}[dir=rtl] .rtl\:ml-4{margin-left:1rem}[dir=rtl] .rtl\:mr-1{margin-right:.25rem}[dir=rtl] .rtl\:mr-2{margin-right:.5rem}[dir=rtl] .rtl\:block{display:block}[dir=rtl] .rtl\:inline{display:inline}[dir=rtl] .rtl\:hidden{display:none}[dir=rtl] .rtl\:border-r{border-right-width:1px}[dir=rtl] .rtl\:pl-2{padding-left:.5rem}[dir=rtl] .rtl\:pl-3{padding-left:.75rem}[dir=rtl] .rtl\:pr-5{padding-right:1.25rem}[dir=rtl] .rtl\:text-left{text-align:left}.dark .dark\:inline{display:inline}.dark .dark\:flex{display:flex}.dark .dark\:hidden{display:none}.dark .dark\:border-neutral-600{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-600),var(--tw-border-opacity))}.dark .dark\:border-neutral-700{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-700),var(--tw-border-opacity))}.dark .dark\:border-primary-600{--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}.dark .dark\:bg-neutral-600{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity))}.dark .dark\:bg-neutral-700{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity))}.dark .dark\:bg-neutral-800{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-800),var(--tw-bg-opacity))}.dark .dark\:bg-neutral-800\/50{background-color:rgba(var(--color-neutral-800),.5)}.dark .dark\:bg-neutral-900\/50{background-color:rgba(var(--color-neutral-900),.5)}.dark .dark\:bg-primary-400{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity))}.dark .dark\:bg-primary-800{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-800),var(--tw-bg-opacity))}.dark .dark\:bg-primary-900{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}.dark .dark\:text-neutral{--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity))}.dark .dark\:text-neutral-100{--tw-text-opacity:1;color:rgba(var(--color-neutral-100),var(--tw-text-opacity))}.dark .dark\:text-neutral-300{--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity))}.dark .dark\:text-neutral-400{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.dark .dark\:text-neutral-500{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.dark .dark\:text-neutral-800{--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}.dark .dark\:text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.dark .dark\:hover\:border-primary-600:hover{--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}.dark .dark\:hover\:\!bg-primary-700:hover{--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-700),var(--tw-bg-opacity))!important}.dark .dark\:hover\:bg-primary-400:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity))}.dark .dark\:hover\:bg-primary-900:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}.dark .dark\:hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}.dark .dark\:hover\:text-primary-400:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.dark .dark\:focus\:bg-primary-900:focus{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}.dark .group:hover .dark\:group-hover\:text-neutral-700{--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}.dark .group:hover .dark\:group-hover\:text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}@media print{.print\:hidden{display:none}}@media(min-width:640px){.sm\:mb-0{margin-bottom:0}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:max-h-\[7\.5rem\]{max-height:7.5rem}.sm\:w-1\/2{width:50%}.sm\:w-40{width:10rem}.sm\:max-w-\[10rem\]{max-width:10rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-6{padding:1.5rem}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:pr-6{padding-right:1.5rem}.sm\:pt-10{padding-top:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}[dir=ltr] .ltr\:sm\:mr-7{margin-right:1.75rem}[dir=ltr] .ltr\:sm\:last\:mr-0:last-child{margin-right:0}[dir=rtl] .rtl\:sm\:ml-7{margin-left:1.75rem}[dir=rtl] .rtl\:sm\:last\:ml-0:last-child{margin-left:0}}@media(min-width:768px){.md\:w-1\/3{width:33.333333%}.md\:p-\[10vh\]{padding:10vh}.md\:px-24{padding-left:6rem;padding-right:6rem}}@media(min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-10{top:2.5rem}.lg\:order-last{order:9999}.lg\:hidden{display:none}.lg\:w-1\/4{width:25%}.lg\:max-w-xs{max-width:20rem}.lg\:flex-row{flex-direction:row}.lg\:p-\[12vh\]{padding:12vh}.lg\:px-32{padding-left:8rem;padding-right:8rem}[dir=ltr] .ltr\:lg\:pl-8{padding-left:2rem}[dir=rtl] .rtl\:lg\:pr-8{padding-right:2rem}}@media(min-width:1280px){.xl\:w-1\/5{width:20%}}.sm\:items-start{align-items:start}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.ml-4{margin-left:1rem}.mr-4{margin-right:1rem}ul,ol{margin:0;margin-bottom:0;padding:0;list-style-type:none}ul.image-tags li{display:inline-block;padding:0;margin:0}ul.image-tags li a:hover,ul.image-tags li a.filtered,ul.image-tags li form{background:#f7421b;opacity:1;text-decoration:none;border:none}ul.image-tags li a:link,ul.image-tags li a:visited,ul.image-tags li form{display:inline-block;padding:3px 10px 5px;margin:0 5px 10px 0;background:#2b2b33;color:#fff;-webkit-transition:.3s;-webkit-border-radius:8px;-moz-border-radius:8px}.tag-opacity-1{opacity:.43}.tag-opacity-2{opacity:.46}.tag-opacity-3{opacity:.49}.tag-opacity-4{opacity:.42}.tag-opacity-5{opacity:.55}.tag-opacity-6{opacity:.58}.tag-opacity-7{opacity:.61}.tag-opacity-8{opacity:.64}.tag-opacity-9{opacity:.67}.tag-opacity-10{opacity:.7}.tag-opacity-11{opacity:.73}.tag-opacity-12{opacity:.76}.tag-opacity-13{opacity:.79}.tag-opacity-14{opacity:.82}.tag-opacity-15{opacity:.85}.tag-opacity-16{opacity:.88}.tag-opacity-17{opacity:.91}.tag-opacity-18{opacity:.94}.tag-opacity-19{opacity:.97}.tag-opacity-20{opacity:1}.animated{animation:rotating .7s ease 0s 1 normal forwards}@keyframes rotating{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.focus\:bg-primary-100:focus{--tw-bg-opacity:1;background-color:rgba(180,180,180,var(--tw-bg-opacity))}.katex-html{font-size:1.2em;color:#000}.katex-display katex{padding-left:.5em!important;text-align:left}.katex{padding-left:0!important}.mt-8{margin-top:2rem}.mt-4{margin-top:1rem}.mt-2{margin-top:.5rem}.mt-1{margin-top:.25rem}.mt-0{margin-top:0}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.border-neutral-200{border-width:1px;border-color:rgba(180,180,180,var(--tw-bg-opacity))}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.ml-1{margin-left:.15rem}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(100,100,100,var(--tw-bg-opacity))}.lg\:p-\[2vh\]{padding:2vh}img[alt=diagram]{width:400px}.grid-container a{border-width:1px;border-radius:20px;border-color:#a9a9a9;overflow:hidden;padding:10px}.grid-container{display:grid;grid-template-columns:auto;gap:15px}@media(min-width:640px){.grid-container{grid-template-columns:auto auto}}@media(min-width:1024px){.grid-container{grid-template-columns:auto auto auto}} \ No newline at end of file diff --git a/public/css/main.bundle.min.bca42b9fe86c5a1a3bcf1c36a59584f9039403a94aaf31ac83671f1371ba9a69687ce4bad9ea6600fd5795e95350b3f723aedf66e3601fe62171425351f23771.css b/public/css/main.bundle.min.bca42b9fe86c5a1a3bcf1c36a59584f9039403a94aaf31ac83671f1371ba9a69687ce4bad9ea6600fd5795e95350b3f723aedf66e3601fe62171425351f23771.css new file mode 100644 index 00000000..e6c8efb0 --- /dev/null +++ b/public/css/main.bundle.min.bca42b9fe86c5a1a3bcf1c36a59584f9039403a94aaf31ac83671f1371ba9a69687ce4bad9ea6600fd5795e95350b3f723aedf66e3601fe62171425351f23771.css @@ -0,0 +1 @@ +:root{--color-neutral:255, 255, 255;--color-neutral-50:249, 250, 251;--color-neutral-100:243, 244, 246;--color-neutral-200:229, 231, 235;--color-neutral-300:209, 213, 219;--color-neutral-400:156, 163, 175;--color-neutral-500:107, 114, 128;--color-neutral-600:75, 85, 99;--color-neutral-700:55, 65, 81;--color-neutral-800:31, 41, 55;--color-neutral-900:17, 24, 39;--color-primary-50:248, 250, 252;--color-primary-100:241, 245, 249;--color-primary-200:226, 232, 240;--color-primary-300:203, 213, 225;--color-primary-400:148, 163, 184;--color-primary-500:100, 116, 139;--color-primary-600:71, 85, 105;--color-primary-700:51, 65, 85;--color-primary-800:30, 41, 59;--color-primary-900:15, 23, 42;--color-secondary-50:249, 250, 251;--color-secondary-100:243, 244, 246;--color-secondary-200:229, 231, 235;--color-secondary-300:209, 213, 219;--color-secondary-400:156, 163, 175;--color-secondary-500:107, 114, 128;--color-secondary-600:75, 85, 99;--color-secondary-700:55, 65, 81;--color-secondary-800:31, 41, 55;--color-secondary-900:17, 24, 39}/*!Congo v2.6.0 | MIT License | https://github.com/jpanther/congo*//*!tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:initial}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500;text-decoration-color:rgba(var(--color-primary-300),1)}.prose :where(a):not(:where([class~=not-prose] *)):hover{color:rgba(var(--color-neutral),1);text-decoration:none;background-color:rgba(var(--color-primary-600),1);border-radius:.09rem}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *))::before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose] *))::before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *))::after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code)}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose] *))::before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *))::after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:rgba(var(--color-neutral-700), 1);--tw-prose-headings:rgba(var(--color-neutral-800), 1);--tw-prose-lead:rgba(var(--color-neutral-500), 1);--tw-prose-links:rgba(var(--color-primary-700), 1);--tw-prose-bold:rgba(var(--color-neutral-900), 1);--tw-prose-counters:rgba(var(--color-neutral-800), 1);--tw-prose-bullets:rgba(var(--color-neutral-500), 1);--tw-prose-hr:rgba(var(--color-neutral-200), 1);--tw-prose-quotes:rgba(var(--color-neutral-700), 1);--tw-prose-quote-borders:rgba(var(--color-primary-200), 1);--tw-prose-captions:rgba(var(--color-neutral-500), 1);--tw-prose-code:rgba(var(--color-secondary-700), 1);--tw-prose-pre-code:rgba(var(--color-neutral-700), 1);--tw-prose-pre-bg:rgba(var(--color-neutral-50), 1);--tw-prose-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-td-borders:rgba(var(--color-neutral-300), 1);--tw-prose-invert-body:rgba(var(--color-neutral-300), 1);--tw-prose-invert-headings:rgba(var(--color-neutral-50), 1);--tw-prose-invert-lead:rgba(var(--color-neutral-500), 1);--tw-prose-invert-links:rgba(var(--color-primary-400), 1);--tw-prose-invert-bold:rgba(var(--color-neutral), 1);--tw-prose-invert-counters:rgba(var(--color-neutral-400), 1);--tw-prose-invert-bullets:rgba(var(--color-neutral-600), 1);--tw-prose-invert-hr:rgba(var(--color-neutral-500), 1);--tw-prose-invert-quotes:rgba(var(--color-neutral-200), 1);--tw-prose-invert-quote-borders:rgba(var(--color-primary-900), 1);--tw-prose-invert-captions:rgba(var(--color-neutral-400), 1);--tw-prose-invert-code:rgba(var(--color-secondary-400), 1);--tw-prose-invert-pre-code:rgba(var(--color-neutral-200), 1);--tw-prose-invert-pre-bg:rgba(var(--color-neutral-700), 1);--tw-prose-invert-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-invert-td-borders:rgba(var(--color-neutral-700), 1);font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose :where(kbd):not(:where([class~=not-prose] *)){background-color:rgba(var(--color-neutral-200),1);padding:.1rem .4rem;border-radius:.25rem;font-size:.9rem;font-weight:600}.prose :where(mark):not(:where([class~=not-prose] *)){color:rgba(var(--color-neutral-800),1);background-color:rgba(var(--color-secondary-200),1);padding:.1rem .2rem;border-radius:.12rem}body a,body button{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.icon svg{height:1em;width:1em}#search-query::-webkit-search-cancel-button,#search-query::-webkit-search-decoration,#search-query::-webkit-search-results-button,#search-query::-webkit-search-results-decoration{display:none}body:has(#menu-controller:checked){height:100vh;overflow:hidden}#menu-button:has(#menu-controller:checked){visibility:hidden}#menu-controller:checked~#menu-wrapper{visibility:visible;opacity:1}:is([dir=rtl] .prose blockquote){border-left-width:0;border-right-width:4px;padding-right:1rem}:is([dir=rtl] .prose ul>li),:is([dir=rtl] .prose ol>li){margin-right:1.75rem;padding-left:0;padding-right:.5rem}:is([dir=rtl] .prose ol>li):before,:is([dir=rtl] .prose ul>li):before{left:auto;right:.25rem}:is([dir=rtl] .prose thead td:first-child),:is([dir=rtl] .prose thead th:first-child){padding-right:0}:is([dir=rtl] .prose thead td:last-child),:is([dir=rtl] .prose thead th:last-child){padding-left:0}.prose div.min-w-0.max-w-prose>*:first-child{margin-top:.75rem}.toc ul,.toc li{list-style-type:none;padding-left:0;padding-right:0;line-height:1.375}.toc ul ul{-webkit-padding-start:1rem;padding-inline-start:1rem}.toc a{font-weight:400;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .toc a){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}:is([dir=rtl] .toc ul>li){margin-right:0}.highlight-wrapper{display:block}.highlight{position:relative;z-index:0}.highlight:hover>.copy-button{visibility:visible}.copy-button{visibility:hidden;position:absolute;right:0;top:0;z-index:10;width:5rem;cursor:pointer;white-space:nowrap;border-bottom-left-radius:.375rem;border-top-right-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-200),var(--tw-bg-opacity));padding-top:.25rem;padding-bottom:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity));opacity:.9}:is(.dark .copy-button){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity))}.copy-button:hover,.copy-button:focus,.copy-button:active,.copy-button:active:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}:is(.dark .copy-button:hover),:is(.dark .copy-button:focus),:is(.dark .copy-button:active),:is(.dark .copy-button:active:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.copy-textarea{position:absolute;z-index:-10;opacity:.05}.chroma{border-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-50),var(--tw-bg-opacity));padding-top:.75rem;padding-bottom:.75rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .chroma){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity))}.chroma pre{margin:0;padding:0}.chroma .lntable{margin:0;display:block;width:auto;overflow:auto;font-size:1rem;line-height:1.5rem}.chroma .lnt,.chroma .ln{margin-right:.5rem;padding-left:.5rem;padding-right:.5rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-600),var(--tw-text-opacity))}:is(.dark .chroma .lnt),:is(.dark .chroma .ln){--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity))}.chroma .lntd{padding:0;vertical-align:top}.chroma .lntd:last-of-type{width:100%}.chroma .hl{display:block;width:100%;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}:is(.dark .chroma .hl){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .nc,.chroma .fm,.chroma .nn,.chroma .vc,.chroma .o{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}:is(.dark .chroma .k),:is(.dark .chroma .kd),:is(.dark .chroma .kn),:is(.dark .chroma .kp),:is(.dark .chroma .kr),:is(.dark .chroma .nc),:is(.dark .chroma .fm),:is(.dark .chroma .nn),:is(.dark .chroma .vc),:is(.dark .chroma .o){--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity))}.chroma .kc{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .kc){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .kt,.chroma .nv,.chroma .vi,.chroma .vm,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .kt),:is(.dark .chroma .nv),:is(.dark .chroma .vi),:is(.dark .chroma .vm),:is(.dark .chroma .m),:is(.dark .chroma .mb),:is(.dark .chroma .mf),:is(.dark .chroma .mh),:is(.dark .chroma .mi),:is(.dark .chroma .il),:is(.dark .chroma .mo){--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity))}.chroma .n,.chroma .nd,.chroma .ni,.chroma .nl{--tw-text-opacity:1;color:rgba(var(--color-secondary-900),var(--tw-text-opacity))}:is(.dark .chroma .n),:is(.dark .chroma .nd),:is(.dark .chroma .ni),:is(.dark .chroma .nl){--tw-text-opacity:1;color:rgba(var(--color-secondary-200),var(--tw-text-opacity))}.chroma .na,.chroma .nb,.chroma .bp,.chroma .nx,.chroma .py,.chroma .nt{--tw-text-opacity:1;color:rgba(var(--color-secondary-800),var(--tw-text-opacity))}:is(.dark .chroma .na),:is(.dark .chroma .nb),:is(.dark .chroma .bp),:is(.dark .chroma .nx),:is(.dark .chroma .py),:is(.dark .chroma .nt){--tw-text-opacity:1;color:rgba(var(--color-secondary-300),var(--tw-text-opacity))}.chroma .no,.chroma .ne,.chroma .vg{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .no),:is(.dark .chroma .ne),:is(.dark .chroma .vg){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .nf{--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity))}:is(.dark .chroma .nf){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .l,.chroma .ld,.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .sh,.chroma .si,.chroma .sx,.chroma .s1,.chroma .gi,.chroma .go,.chroma .gp{--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}:is(.dark .chroma .l),:is(.dark .chroma .ld),:is(.dark .chroma .s),:is(.dark .chroma .sa),:is(.dark .chroma .sb),:is(.dark .chroma .sc),:is(.dark .chroma .dl),:is(.dark .chroma .sd),:is(.dark .chroma .s2),:is(.dark .chroma .sh),:is(.dark .chroma .si),:is(.dark .chroma .sx),:is(.dark .chroma .s1),:is(.dark .chroma .gi),:is(.dark .chroma .go),:is(.dark .chroma .gp){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.chroma .se{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .se){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .sr,.chroma .ss{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}:is(.dark .chroma .sr),:is(.dark .chroma .ss){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.chroma .ow{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .chroma .ow){--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.chroma .c,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .chroma .c),:is(.dark .chroma .cm),:is(.dark .chroma .c1),:is(.dark .chroma .cs),:is(.dark .chroma .cp),:is(.dark .chroma .cpf){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.chroma .ch{font-weight:600;font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .chroma .ch){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.chroma .ge{font-style:italic}.chroma .gh{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.chroma .gs{font-weight:600}.chroma .gu,.chroma .gt{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.chroma .gl{text-decoration-line:underline}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-start-6{inset-inline-start:-1.5rem}.bottom-0{bottom:0}.end-0{inset-inline-end:0}.top-0{top:0}.top-20{top:5rem}.top-\[100vh\]{top:100vh}.top-\[calc\(100vh-5\.5rem\)\]{top:calc(100vh - 5.5rem)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-first{order:-9999}.m-1{margin:.25rem}.m-auto{margin:auto}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.\!mb-0{margin-bottom:0!important}.\!mb-9{margin-bottom:2.25rem!important}.\!mt-0{margin-top:0!important}.-mb-1{margin-bottom:-.25rem}.-ms-5{-webkit-margin-start:-1.25rem;margin-inline-start:-1.25rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-\[2px\]{margin-bottom:2px}.me-14{-webkit-margin-end:3.5rem;margin-inline-end:3.5rem}.me-2{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.me-4{-webkit-margin-end:1rem;margin-inline-end:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.ms-1{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.ms-2{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[0\.1rem\]{margin-top:.1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.h-12{height:3rem}.h-24{height:6rem}.h-36{height:9rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[10rem\]{max-height:10rem}.max-h-\[4\.5rem\]{max-height:4.5rem}.min-h-0{min-height:0}.w-12{width:3rem}.w-24{width:6rem}.w-36{width:9rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[1\.8rem\]{min-width:1.8rem}.min-w-\[2\.4rem\]{min-width:2.4rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[6rem\]{max-width:6rem}.max-w-full{max-width:100%}.max-w-prose{max-width:65ch}.flex-auto{flex:auto}.flex-none{flex:none}.grow{flex-grow:1}.-translate-y-8{--tw-translate-y:-2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.place-self-center{place-self:center}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.scroll-smooth{scroll-behavior:smooth}.\!rounded-md{border-radius:.375rem!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.border{border-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-dotted{border-style:dotted}.border-neutral-200{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-200),var(--tw-border-opacity))}.border-neutral-300{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-300),var(--tw-border-opacity))}.border-neutral-400{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-400),var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity:1;border-color:rgba(var(--color-primary-400),var(--tw-border-opacity))}.bg-neutral{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral),var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-100),var(--tw-bg-opacity))}.bg-neutral-100\/50{background-color:rgba(var(--color-neutral-100),.5)}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-300),var(--tw-bg-opacity))}.bg-neutral-500\/50{background-color:rgba(var(--color-neutral-500),.5)}.bg-neutral\/50{background-color:rgba(var(--color-neutral),.5)}.bg-primary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-200),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-left{-o-object-position:left;object-position:left}.p-1{padding:.25rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-4{padding-bottom:1rem}.pe-2{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.pe-3{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.pe-4{-webkit-padding-end:1rem;padding-inline-end:1rem}.pe-5{-webkit-padding-end:1.25rem;padding-inline-end:1.25rem}.ps-2{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.ps-5{-webkit-padding-start:1.25rem;padding-inline-start:1.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-text-bottom{vertical-align:text-bottom}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.\!text-neutral{--tw-text-opacity:1 !important;color:rgba(var(--color-neutral),var(--tw-text-opacity))!important}.text-neutral-400{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity:1;color:rgba(var(--color-neutral-900),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.\!no-underline{text-decoration-line:none!important}.decoration-neutral-300{text-decoration-color:rgba(var(--color-neutral-300),1)}.decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}:is(.dark .dark\:prose-invert){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}:is(.dark .dark\:prose-invert) :where(a):not(:where([class~=not-prose] *)){text-decoration-color:rgba(var(--color-neutral-600),1)}:is(.dark .dark\:prose-invert) :where(kbd):not(:where([class~=not-prose] *)){color:rgba(var(--color-neutral-200),1);background-color:rgba(var(--color-neutral-700),1)}:is(.dark .dark\:prose-invert) :where(mark):not(:where([class~=not-prose] *)){background-color:rgba(var(--color-secondary-400),1)}.first\:mt-8:first-child{margin-top:2rem}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:rgba(var(--color-primary-300),var(--tw-border-opacity))}.hover\:\!bg-primary-500:hover{--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))!important}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.hover\:text-neutral:hover{--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity))}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary-400:hover{text-decoration-color:rgba(var(--color-primary-400),1)}.hover\:decoration-2:hover{text-decoration-thickness:2px}.hover\:underline-offset-2:hover{text-underline-offset:2px}.focus\:translate-y-0:focus{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.focus\:bg-primary-100:focus{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.focus\:outline-dotted:focus{outline-style:dotted}.focus\:outline-2:focus{outline-width:2px}.focus\:outline-transparent:focus{outline-color:transparent}.group:hover .group-hover\:-translate-x-\[2px\]{--tw-translate-x:-2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-primary-300{--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity))}.group:hover .group-hover\:text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.group:hover .group-hover\:decoration-2{text-decoration-thickness:2px}.group:hover .group-hover\:underline-offset-2{text-underline-offset:2px}.group:hover .group-hover\:opacity-100{opacity:1}:is([dir=ltr] .ltr\:block){display:block}:is([dir=ltr] .ltr\:inline){display:inline}:is([dir=ltr] .ltr\:hidden){display:none}:is([dir=ltr] .ltr\:text-right){text-align:right}:is([dir=rtl] .rtl\:block){display:block}:is([dir=rtl] .rtl\:inline){display:inline}:is([dir=rtl] .rtl\:hidden){display:none}:is([dir=rtl] .rtl\:text-left){text-align:left}:is(.dark .dark\:inline){display:inline}:is(.dark .dark\:flex){display:flex}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:border-neutral-600){--tw-border-opacity:1;border-color:rgba(var(--color-neutral-600),var(--tw-border-opacity))}:is(.dark .dark\:border-neutral-700){--tw-border-opacity:1;border-color:rgba(var(--color-neutral-700),var(--tw-border-opacity))}:is(.dark .dark\:border-primary-600){--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}:is(.dark .dark\:bg-neutral-600){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-700){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-800){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-800),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-800\/50){background-color:rgba(var(--color-neutral-800),.5)}:is(.dark .dark\:bg-neutral-900\/50){background-color:rgba(var(--color-neutral-900),.5)}:is(.dark .dark\:bg-primary-400){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-800){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-800),var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-900){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .dark\:text-neutral){--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-100){--tw-text-opacity:1;color:rgba(var(--color-neutral-100),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-300){--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-400){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-500){--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-800){--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}:is(.dark .dark\:text-primary-400){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .dark\:hover\:border-primary-600:hover){--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}:is(.dark .dark\:hover\:\!bg-primary-700:hover){--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-700),var(--tw-bg-opacity))!important}:is(.dark .dark\:hover\:bg-primary-400:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary-900:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-neutral-800:hover){--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-primary-400:hover){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .dark\:focus\:bg-primary-900:focus){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .group:hover .dark\:group-hover\:text-neutral-700){--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .group:hover .dark\:group-hover\:text-primary-400){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}@media print{.print\:hidden{display:none}}@media(min-width:640px){.sm\:mb-0{margin-bottom:0}.sm\:me-7{-webkit-margin-end:1.75rem;margin-inline-end:1.75rem}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:max-h-\[7\.5rem\]{max-height:7.5rem}.sm\:w-1\/2{width:50%}.sm\:w-40{width:10rem}.sm\:max-w-\[10rem\]{max-width:10rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-6{padding:1.5rem}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:pe-6{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.sm\:pt-10{padding-top:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:last\:me-0:last-child{-webkit-margin-end:0;margin-inline-end:0}.sm\:last\:me-0\.5:last-child{-webkit-margin-end:.125rem;margin-inline-end:.125rem}}@media(min-width:768px){.md\:w-1\/3{width:33.333333%}.md\:p-\[10vh\]{padding:10vh}.md\:px-24{padding-left:6rem;padding-right:6rem}}@media(min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-10{top:2.5rem}.lg\:order-last{order:9999}.lg\:hidden{display:none}.lg\:w-1\/4{width:25%}.lg\:max-w-xs{max-width:20rem}.lg\:flex-row{flex-direction:row}.lg\:p-\[12vh\]{padding:12vh}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:ps-8{-webkit-padding-start:2rem;padding-inline-start:2rem}}@media(min-width:1280px){.xl\:w-1\/5{width:20%}}.sm\:items-start{align-items:start}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.ml-4{margin-left:1rem}.mr-4{margin-right:1rem}ul,ol{margin:0;margin-bottom:0;padding:0;list-style-type:none}ul.image-tags li{display:inline-block;padding:0;margin:0}ul.image-tags li a:hover,ul.image-tags li a.filtered,ul.image-tags li form{background:#f7421b;opacity:1;text-decoration:none;border:none}ul.image-tags li a:link,ul.image-tags li a:visited,ul.image-tags li form{display:inline-block;padding:3px 10px 5px;margin:0 5px 10px 0;background:#2b2b33;color:#fff;-webkit-transition:.3s;-webkit-border-radius:8px;-moz-border-radius:8px}.tag-opacity-1{opacity:.43}.tag-opacity-2{opacity:.46}.tag-opacity-3{opacity:.49}.tag-opacity-4{opacity:.42}.tag-opacity-5{opacity:.55}.tag-opacity-6{opacity:.58}.tag-opacity-7{opacity:.61}.tag-opacity-8{opacity:.64}.tag-opacity-9{opacity:.67}.tag-opacity-10{opacity:.7}.tag-opacity-11{opacity:.73}.tag-opacity-12{opacity:.76}.tag-opacity-13{opacity:.79}.tag-opacity-14{opacity:.82}.tag-opacity-15{opacity:.85}.tag-opacity-16{opacity:.88}.tag-opacity-17{opacity:.91}.tag-opacity-18{opacity:.94}.tag-opacity-19{opacity:.97}.tag-opacity-20{opacity:1}.animated{animation:rotating .7s ease 0s 1 normal forwards}@keyframes rotating{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.focus\:bg-primary-100:focus{--tw-bg-opacity:1;background-color:rgba(180,180,180,var(--tw-bg-opacity))}.katex-html{font-size:1.2em;color:#000}.katex-display katex{padding-left:.5em!important;text-align:left}.katex{padding-left:0!important}.mt-8{margin-top:2rem}.mt-4{margin-top:1rem}.mt-2{margin-top:.5rem}.mt-1{margin-top:.25rem}.mt-0{margin-top:0}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.border-neutral-200{border-width:1px;border-color:rgba(180,180,180,var(--tw-bg-opacity))}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.ml-1{margin-left:.15rem}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(100,100,100,var(--tw-bg-opacity))}.lg\:p-\[2vh\]{padding:2vh}img[alt=diagram]{width:400px}.grid-container a{border-width:1px;border-radius:20px;border-color:#a9a9a9;overflow:hidden;padding:10px}.grid-container{display:grid;grid-template-columns:auto;gap:15px}@media(min-width:640px){.grid-container{grid-template-columns:auto auto}}@media(min-width:1024px){.grid-container{grid-template-columns:auto auto auto}} \ No newline at end of file diff --git a/static/favicon-16x16.png b/public/favicon-16x16.png similarity index 100% rename from static/favicon-16x16.png rename to public/favicon-16x16.png diff --git a/static/favicon-32x32.png b/public/favicon-32x32.png similarity index 100% rename from static/favicon-32x32.png rename to public/favicon-32x32.png diff --git a/static/favicon.ico b/public/favicon.ico similarity index 100% rename from static/favicon.ico rename to public/favicon.ico diff --git a/public/file.svg b/public/file.svg new file mode 100644 index 00000000..004145cd --- /dev/null +++ b/public/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/formulas/amperes-law/index.html b/public/formulas/amperes-law/index.html new file mode 100644 index 00000000..cdf9d0eb --- /dev/null +++ b/public/formulas/amperes-law/index.html @@ -0,0 +1,16 @@ +Ampere's Law · stemformulas + + + + +

    Ampere's Law

    $$ \oint \vec{B} \cdot d\vec{l} = \mu_0 I $$

    Where

    • The left side is a line integral of the magnetic field \(\vec{B}\) over a closed loop \(\vec{l}\), and
    • \(\mu_0\) is the permeability of free space, and
    • \(I\) is the current enclosed by the loop.

    Ampere’s law is a formula that describes the magnetic field produced by a current-carrying wire. It says that the magneitc field created by an electric current is proportional to the magnitude of the current.

    With displacement current #

    Ampere’s law has a more general form that includes displacement current. The displacement current is proportional to the rate of change of the electric flux. This site has a good explanation of why this modification is needed. The modified form is:

    $$ \oint \vec{B} \cdot d\vec{l} = \mu_0 I + \mu_0 \epsilon_0 \frac{d\vec{\phi_E}}{dt} $$

    Where, in addition to the above definitions,

    • \(\epsilon_0\) is the permittivity of free space, and
    • \(\vec{\phi_E}\) is the electric flux intercepted by the surface spanned by the integration path of the magnetic field.

    Sources #

    \ No newline at end of file diff --git a/public/formulas/cauchys-integral-theorem/index.html b/public/formulas/cauchys-integral-theorem/index.html new file mode 100644 index 00000000..a8a2824d --- /dev/null +++ b/public/formulas/cauchys-integral-theorem/index.html @@ -0,0 +1,16 @@ +Cauchy's Integral Theorem · stemformulas + + + + +
    \ No newline at end of file diff --git a/public/formulas/convolution/index.html b/public/formulas/convolution/index.html new file mode 100644 index 00000000..1dc322e7 --- /dev/null +++ b/public/formulas/convolution/index.html @@ -0,0 +1,16 @@ +Convolution · stemformulas + + + + +
    \ No newline at end of file diff --git a/stemformulas-next/src/content/formulas/cosine-law.png b/public/formulas/cosine-law/cosine-law.png similarity index 100% rename from stemformulas-next/src/content/formulas/cosine-law.png rename to public/formulas/cosine-law/cosine-law.png diff --git a/public/formulas/cosine-law/cosine-law_hucf3598a6f6f0c8e38bf946ce57ed52d8_21282_1024x0_resize_lanczos_3.png b/public/formulas/cosine-law/cosine-law_hucf3598a6f6f0c8e38bf946ce57ed52d8_21282_1024x0_resize_lanczos_3.png new file mode 100644 index 0000000000000000000000000000000000000000..757134bf5542915ef3717c1fdbeb52910cedd532 GIT binary patch literal 44971 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 Cuq>4T literal 0 HcmV?d00001 diff --git a/public/formulas/cosine-law/cosine-law_hucf3598a6f6f0c8e38bf946ce57ed52d8_21282_1320x0_resize_lanczos_3.png b/public/formulas/cosine-law/cosine-law_hucf3598a6f6f0c8e38bf946ce57ed52d8_21282_1320x0_resize_lanczos_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b1ae1ca7189d87c69b780639c23fafcfbd4227 GIT binary patch literal 67260 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