From 0f75dbaccbd0fecd9e4e3e3ab77e721f709fe0a1 Mon Sep 17 00:00:00 2001 From: Gerhard Scheikl Date: Tue, 28 Apr 2026 13:34:35 +0200 Subject: [PATCH] initial version (template only) --- .cursor/mcp.json | 8 + .dockerignore | 3 + .editorconfig | 15 + .eslintignore | 5 + .eslintrc.cjs | 96 + .../shopify-dev-mcp/gemini-extension.json | 10 + .gitignore | 30 + .graphqlrc.ts | 42 + .mcp.json | 9 + .npmrc | 2 + .prettierignore | 7 + .vscode/mcp.json | 9 + .vscode/start_shopify_mcp.sh | 6 + CHANGELOG.md | 125 + Dockerfile | 18 + README.md | 237 + app/db.server.ts | 16 + app/entry.server.tsx | 57 + app/globals.d.ts | 1 + app/root.tsx | 24 + app/routes.ts | 3 + app/routes/_index/route.tsx | 57 + app/routes/_index/styles.module.css | 73 + app/routes/app._index.tsx | 345 + app/routes/app.additional.tsx | 37 + app/routes/app.tsx | 36 + app/routes/auth.$.tsx | 14 + app/routes/auth.login/error.server.tsx | 16 + app/routes/auth.login/route.tsx | 49 + app/routes/webhooks.app.scopes_update.tsx | 21 + app/routes/webhooks.app.uninstalled.tsx | 17 + app/shopify.server.ts | 34 + data/rechnung.png | Bin 0 -> 193877 bytes env.d.ts | 2 + extensions/.gitkeep | 0 package-lock.json | 12374 ++++++++++++++++ package.json | 72 + .../migration.sql | 20 + prisma/schema.prisma | 34 + public/favicon.ico | Bin 0 -> 16958 bytes shopify.app.toml | 52 + shopify.web.toml | 7 + tsconfig.json | 22 + vite.config.ts | 61 + 44 files changed, 14066 insertions(+) create mode 100644 .cursor/mcp.json create mode 100644 .dockerignore create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.cjs create mode 100644 .gemini/extensions/shopify-dev-mcp/gemini-extension.json create mode 100644 .gitignore create mode 100644 .graphqlrc.ts create mode 100644 .mcp.json create mode 100644 .npmrc create mode 100644 .prettierignore create mode 100644 .vscode/mcp.json create mode 100755 .vscode/start_shopify_mcp.sh create mode 100644 CHANGELOG.md create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 app/db.server.ts create mode 100644 app/entry.server.tsx create mode 100644 app/globals.d.ts create mode 100644 app/root.tsx create mode 100644 app/routes.ts create mode 100644 app/routes/_index/route.tsx create mode 100644 app/routes/_index/styles.module.css create mode 100644 app/routes/app._index.tsx create mode 100644 app/routes/app.additional.tsx create mode 100644 app/routes/app.tsx create mode 100644 app/routes/auth.$.tsx create mode 100644 app/routes/auth.login/error.server.tsx create mode 100644 app/routes/auth.login/route.tsx create mode 100644 app/routes/webhooks.app.scopes_update.tsx create mode 100644 app/routes/webhooks.app.uninstalled.tsx create mode 100644 app/shopify.server.ts create mode 100644 data/rechnung.png create mode 100644 env.d.ts create mode 100644 extensions/.gitkeep create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 prisma/migrations/20240530213853_create_session_table/migration.sql create mode 100644 prisma/schema.prisma create mode 100644 public/favicon.ico create mode 100644 shopify.app.toml create mode 100644 shopify.web.toml create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.cursor/mcp.json b/.cursor/mcp.json new file mode 100644 index 0000000..1c43f0f --- /dev/null +++ b/.cursor/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "shopify-dev-mcp": { + "command": "npx", + "args": ["-y", "@shopify/dev-mcp@latest"] + } + } +} diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..78e1a23 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.cache +build +node_modules diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..c9fe4a7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +# editorconfig.org +root = true + +[*] +charset = utf-8 +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +# Markdown syntax specifies that trailing whitespaces can be meaningful, +# so let’s not trim those. e.g. 2 trailing spaces = linebreak (
) +# See https://daringfireball.net/projects/markdown/syntax#p +[*.md] +trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..d2d6eed --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +node_modules +build +public/build +*/*.yml +.shopify diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..c2e4453 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,96 @@ +/** + * This is intended to be a basic starting point for linting in your app. + * It relies on recommended configs out of the box for simplicity, but you can + * and should modify this configuration to best suit your team's needs. + */ + +/** @type {import('eslint').Linter.Config} */ +module.exports = { + root: true, + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + ecmaFeatures: { + jsx: true, + }, + }, + env: { + browser: true, + commonjs: true, + es6: true, + }, + ignorePatterns: ["!**/.server", "!**/.client"], + + // Base config + extends: ["eslint:recommended"], + + overrides: [ + // React + { + files: ["**/*.{js,jsx,ts,tsx}"], + plugins: ["react", "jsx-a11y"], + extends: [ + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "plugin:jsx-a11y/recommended", + ], + settings: { + react: { + version: "detect", + }, + formComponents: ["Form"], + linkComponents: [ + { name: "Link", linkAttribute: "to" }, + { name: "NavLink", linkAttribute: "to" }, + ], + "import/resolver": { + typescript: {}, + }, + }, + rules: { + "react/no-unknown-property": ["error", { ignore: ["variant"] }], + }, + }, + + // Typescript + { + files: ["**/*.{ts,tsx}"], + plugins: ["@typescript-eslint", "import"], + parser: "@typescript-eslint/parser", + settings: { + "import/internal-regex": "^~/", + "import/resolver": { + node: { + extensions: [".ts", ".tsx"], + }, + typescript: { + alwaysTryTypes: true, + }, + }, + }, + extends: [ + "plugin:@typescript-eslint/recommended", + "plugin:import/recommended", + "plugin:import/typescript", + ], + }, + + // Node + { + files: [ + ".eslintrc.cjs", + "vite.config.{js,ts}", + ".graphqlrc.{js,ts}", + "shopify.server.{js,ts}", + "**/*.server.{js,ts}", + ], + env: { + node: true, + }, + }, + ], + globals: { + shopify: "readonly" + }, +}; diff --git a/.gemini/extensions/shopify-dev-mcp/gemini-extension.json b/.gemini/extensions/shopify-dev-mcp/gemini-extension.json new file mode 100644 index 0000000..856f9bf --- /dev/null +++ b/.gemini/extensions/shopify-dev-mcp/gemini-extension.json @@ -0,0 +1,10 @@ +{ + "name": "shopify-dev-mcp", + "version": "1.0.0", + "mcpServers": { + "shopify-dev-mcp": { + "command": "npx", + "args": ["-y", "@shopify/dev-mcp@latest"] + } + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0fd744c --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +node_modules + +# macOS +.DS_Store + +/.cache +/build +/app/build +/public/build/ +/public/_dev +/app/public/build +/prisma/dev.sqlite +/prisma/dev.sqlite-journal +database.sqlite + +.env +.env.* + + + + + +/extensions/*/dist + +# Ignore shopify files created during app dev +.shopify/* +.shopify.lock + +# Hide files auto-generated by react router +.react-router/ \ No newline at end of file diff --git a/.graphqlrc.ts b/.graphqlrc.ts new file mode 100644 index 0000000..dcc5b97 --- /dev/null +++ b/.graphqlrc.ts @@ -0,0 +1,42 @@ +import fs from "fs"; +import { ApiVersion } from "@shopify/shopify-app-react-router/server"; +import { shopifyApiProject, ApiType } from "@shopify/api-codegen-preset"; +import type { IGraphQLConfig } from "graphql-config"; + +function getConfig() { + const config: IGraphQLConfig = { + projects: { + default: shopifyApiProject({ + apiType: ApiType.Admin, + apiVersion: ApiVersion.October25, + documents: ["./app/**/*.{js,ts,jsx,tsx}", "./app/.server/**/*.{js,ts,jsx,tsx}"], + outputDir: "./app/types", + }), + }, + }; + + let extensions: string[] = []; + try { + extensions = fs.readdirSync("./extensions"); + } catch { + // ignore if no extensions + } + + for (const entry of extensions) { + const extensionPath = `./extensions/${entry}`; + const schema = `${extensionPath}/schema.graphql`; + if (!fs.existsSync(schema)) { + continue; + } + config.projects[entry] = { + schema, + documents: [`${extensionPath}/**/*.graphql`], + }; + } + + return config; +} + +const config = getConfig(); + +export default config; diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..a2c5966 --- /dev/null +++ b/.mcp.json @@ -0,0 +1,9 @@ +{ + "mcpServers": { + "shopify-dev-mcp": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@shopify/dev-mcp@latest"] + } + } +} diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..2878da1 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +engine-strict=true +shamefully-hoist=true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..82667c5 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,7 @@ +package.json +.shadowenv.d +.vscode +node_modules +prisma +public +.shopify diff --git a/.vscode/mcp.json b/.vscode/mcp.json new file mode 100644 index 0000000..a47a8ec --- /dev/null +++ b/.vscode/mcp.json @@ -0,0 +1,9 @@ +{ + "servers": { + "shopify-dev-mcp": { + "type": "stdio", + "command": "./.vscode/start_shopify_mcp.sh", + } + }, + "inputs": [] +} \ No newline at end of file diff --git a/.vscode/start_shopify_mcp.sh b/.vscode/start_shopify_mcp.sh new file mode 100755 index 0000000..17b5009 --- /dev/null +++ b/.vscode/start_shopify_mcp.sh @@ -0,0 +1,6 @@ +#!/bin/zsh + +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm + +npx -y @shopify/dev-mcp@latest diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..120d9d9 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,125 @@ +# @shopify/shopify-app-template-react-router + +## 2026.02.09 +- Add declarative product metafield definition and demonstrate metafield usage in the product creation flow +- Add declarative metaobject definition and demonstrate metaobject upsert in the product creation flow + +## 2026.01.08 +- [#170](https://github.com/Shopify/shopify-app-template-react-router/pull/170) - Update React Router minimum version to v7.12.0 + +## 2025.12.11 + +- [#151](https://github.com/Shopify/shopify-app-template-react-router/pull/151) Update `@shopify/shopify-app-react-router` to v1.1.0 and `@shopify/shopify-app-session-storage-prisma` to v8.0.0, add refresh token fields (`refreshToken` and `refreshTokenExpires`) to Session model in Prisma schema, and adopt the `expiringOfflineAccessTokens` flag for enhanced security through token rotation. See [expiring vs non-expiring offline tokens](https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/offline-access-tokens#expiring-vs-non-expiring-offline-tokens) for more information. + +## 2025.10.10 + +- [#95](https://github.com/Shopify/shopify-app-template-react-router/pull/95) Swap the product link for [admin intents](https://shopify.dev/docs/apps/build/admin/admin-intents). + +## 2025.10.02 + +- [#81](https://github.com/Shopify/shopify-app-template-react-router/pull/81) Add shopify global to eslint for ui extensions + +## 2025.10.01 + +- [#79](https://github.com/Shopify/shopify-app-template-react-router/pull/78) Update API version to 2025-10. +- [#77](https://github.com/Shopify/shopify-app-template-react-router/pull/77) Update `@shopify/shopify-app-react-router` to V1. +- [#73](https://github.com/Shopify/shopify-app-template-react-router/pull/73/files) Rename @shopify/app-bridge-ui-types to @shopify/polaris-types + +## 2025.08.30 + +- [#70](https://github.com/Shopify/shopify-app-template-react-router/pull/70/files) Upgrade `@shopify/app-bridge-ui-types` from 0.2.1 to 0.3.1. + +## 2025.08.17 + +- [#58](https://github.com/Shopify/shopify-app-template-react-router/pull/58) Update Shopify & React Router dependencies. Use Shopify React Router in graphqlrc, not shopify-api +- [#57](https://github.com/Shopify/shopify-app-template-react-router/pull/57) Update Webhook API version in `shopify.app.toml` to `2025-07` +- [#56](https://github.com/Shopify/shopify-app-template-react-router/pull/56) Remove local CLI from package.json in favor of global CLI installation +- [#53](https://github.com/Shopify/shopify-app-template-react-router/pull/53) Add the Shopify Dev MCP to the template + +## 2025.08.16 + +- [#52](https://github.com/Shopify/shopify-app-template-react-router/pull/52) Use `ApiVersion.July25` rather than `LATEST_API_VERSION` in `.graphqlrc`. + +## 2025.07.24 + +- [14](https://github.com/Shopify/shopify-app-template-react-router/pull/14/files) Add [App Bridge web components](https://shopify.dev/docs/api/app-home/app-bridge-web-components) to the template. + +## July 2025 + +Forked the [shopify-app-template repo](https://github.com/Shopify/shopify-app-template-remix) + +# @shopify/shopify-app-template-remix + +## 2025.03.18 + +-[#998](https://github.com/Shopify/shopify-app-template-remix/pull/998) Update to Vite 6 + +## 2025.03.01 + +- [#982](https://github.com/Shopify/shopify-app-template-remix/pull/982) Add Shopify Dev Assistant extension to the VSCode extension recommendations + +## 2025.01.31 + +- [#952](https://github.com/Shopify/shopify-app-template-remix/pull/952) Update to Shopify App API v2025-01 + +## 2025.01.23 + +- [#923](https://github.com/Shopify/shopify-app-template-remix/pull/923) Update `@shopify/shopify-app-session-storage-prisma` to v6.0.0 + +## 2025.01.8 + +- [#923](https://github.com/Shopify/shopify-app-template-remix/pull/923) Enable GraphQL autocomplete for Javascript + +## 2024.12.19 + +- [#904](https://github.com/Shopify/shopify-app-template-remix/pull/904) bump `@shopify/app-bridge-react` to latest +- +## 2024.12.18 + +- [875](https://github.com/Shopify/shopify-app-template-remix/pull/875) Add Scopes Update Webhook +## 2024.12.05 + +- [#910](https://github.com/Shopify/shopify-app-template-remix/pull/910) Install `openssl` in Docker image to fix Prisma (see [#25817](https://github.com/prisma/prisma/issues/25817#issuecomment-2538544254)) +- [#907](https://github.com/Shopify/shopify-app-template-remix/pull/907) Move `@remix-run/fs-routes` to `dependencies` to fix Docker image build +- [#899](https://github.com/Shopify/shopify-app-template-remix/pull/899) Disable v3_singleFetch flag +- [#898](https://github.com/Shopify/shopify-app-template-remix/pull/898) Enable the `removeRest` future flag so new apps aren't tempted to use the REST Admin API. + +## 2024.12.04 + +- [#891](https://github.com/Shopify/shopify-app-template-remix/pull/891) Enable remix future flags. + +## 2024.11.26 + +- [888](https://github.com/Shopify/shopify-app-template-remix/pull/888) Update restResources version to 2024-10 + +## 2024.11.06 + +- [881](https://github.com/Shopify/shopify-app-template-remix/pull/881) Update to the productCreate mutation to use the new ProductCreateInput type + +## 2024.10.29 + +- [876](https://github.com/Shopify/shopify-app-template-remix/pull/876) Update shopify-app-remix to v3.4.0 and shopify-app-session-storage-prisma to v5.1.5 + +## 2024.10.02 + +- [863](https://github.com/Shopify/shopify-app-template-remix/pull/863) Update to Shopify App API v2024-10 and shopify-app-remix v3.3.2 + +## 2024.09.18 + +- [850](https://github.com/Shopify/shopify-app-template-remix/pull/850) Removed "~" import alias + +## 2024.09.17 + +- [842](https://github.com/Shopify/shopify-app-template-remix/pull/842) Move webhook processing to individual routes + +## 2024.08.19 + +Replaced deprecated `productVariantUpdate` with `productVariantsBulkUpdate` + +## v2024.08.06 + +Allow `SHOP_REDACT` webhook to process without admin context + +## v2024.07.16 + +Started tracking changes and releases using calver diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..95b7099 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM node:20-alpine +RUN apk add --no-cache openssl + +EXPOSE 3000 + +WORKDIR /app + +ENV NODE_ENV=production + +COPY package.json package-lock.json* ./ + +RUN npm ci --omit=dev && npm cache clean --force + +COPY . . + +RUN npm run build + +CMD ["npm", "run", "docker-start"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..278678f --- /dev/null +++ b/README.md @@ -0,0 +1,237 @@ +# Shopify App Template - React Router + +This is a template for building a [Shopify app](https://shopify.dev/docs/apps/getting-started) using [React Router](https://reactrouter.com/). It was forked from the [Shopify Remix app template](https://github.com/Shopify/shopify-app-template-remix) and converted to React Router. + +Rather than cloning this repo, follow the [Quick Start steps](https://github.com/Shopify/shopify-app-template-react-router#quick-start). + +Visit the [`shopify.dev` documentation](https://shopify.dev/docs/api/shopify-app-react-router) for more details on the React Router app package. + +## Upgrading from Remix + +If you have an existing Remix app that you want to upgrade to React Router, please follow the [upgrade guide](https://github.com/Shopify/shopify-app-template-react-router/wiki/Upgrading-from-Remix). Otherwise, please follow the quick start guide below. + +## Quick start + +### Prerequisites + +Before you begin, you'll need to [download and install the Shopify CLI](https://shopify.dev/docs/apps/tools/cli/getting-started) if you haven't already. + +### Setup + +```shell +shopify app init --template=https://github.com/Shopify/shopify-app-template-react-router +``` + +### Local Development + +```shell +shopify app dev +``` + +Press P to open the URL to your app. Once you click install, you can start development. + +Local development is powered by [the Shopify CLI](https://shopify.dev/docs/apps/tools/cli). It logs into your account, connects to an app, provides environment variables, updates remote config, creates a tunnel and provides commands to generate extensions. + +### Authenticating and querying data + +To authenticate and query data you can use the `shopify` const that is exported from `/app/shopify.server.js`: + +```js +export async function loader({ request }) { + const { admin } = await shopify.authenticate.admin(request); + + const response = await admin.graphql(` + { + products(first: 25) { + nodes { + title + description + } + } + }`); + + const { + data: { + products: { nodes }, + }, + } = await response.json(); + + return nodes; +} +``` + +This template comes pre-configured with examples of: + +1. Setting up your Shopify app in [/app/shopify.server.ts](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/shopify.server.ts) +2. Querying data using Graphql. Please see: [/app/routes/app.\_index.tsx](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/routes/app._index.tsx). +3. Responding to webhooks. Please see [/app/routes/webhooks.tsx](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/routes/webhooks.app.uninstalled.tsx). +4. Using metafields, metaobjects, and declarative custom data definitions. Please see [/app/routes/app.\_index.tsx](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/routes/app._index.tsx) and [shopify.app.toml](https://github.com/Shopify/shopify-app-template-react-router/blob/main/shopify.app.toml). + +Please read the [documentation for @shopify/shopify-app-react-router](https://shopify.dev/docs/api/shopify-app-react-router) to see what other API's are available. + +## Shopify Dev MCP + +This template is configured with the Shopify Dev MCP. This instructs [Cursor](https://cursor.com/), [GitHub Copilot](https://github.com/features/copilot) and [Claude Code](https://claude.com/product/claude-code) and [Google Gemini CLI](https://github.com/google-gemini/gemini-cli) to use the Shopify Dev MCP. + +For more information on the Shopify Dev MCP please read [the documentation](https://shopify.dev/docs/apps/build/devmcp). + +## Deployment + +### Application Storage + +This template uses [Prisma](https://www.prisma.io/) to store session data, by default using an [SQLite](https://www.sqlite.org/index.html) database. +The database is defined as a Prisma schema in `prisma/schema.prisma`. + +This use of SQLite works in production if your app runs as a single instance. +The database that works best for you depends on the data your app needs and how it is queried. +Here’s a short list of databases providers that provide a free tier to get started: + +| Database | Type | Hosters | +| ---------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| MySQL | SQL | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-mysql), [Planet Scale](https://planetscale.com/), [Amazon Aurora](https://aws.amazon.com/rds/aurora/), [Google Cloud SQL](https://cloud.google.com/sql/docs/mysql) | +| PostgreSQL | SQL | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-postgresql), [Amazon Aurora](https://aws.amazon.com/rds/aurora/), [Google Cloud SQL](https://cloud.google.com/sql/docs/postgres) | +| Redis | Key-value | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-redis), [Amazon MemoryDB](https://aws.amazon.com/memorydb/) | +| MongoDB | NoSQL / Document | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-mongodb), [MongoDB Atlas](https://www.mongodb.com/atlas/database) | + +To use one of these, you can use a different [datasource provider](https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#datasource) in your `schema.prisma` file, or a different [SessionStorage adapter package](https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/docs/guides/session-storage.md). + +### Build + +Build the app by running the command below with the package manager of your choice: + +Using yarn: + +```shell +yarn build +``` + +Using npm: + +```shell +npm run build +``` + +Using pnpm: + +```shell +pnpm run build +``` + +## Hosting + +When you're ready to set up your app in production, you can follow [our deployment documentation](https://shopify.dev/docs/apps/launch/deployment) to host it externally. From there, you have a few options: + +- [Google Cloud Run](https://shopify.dev/docs/apps/launch/deployment/deploy-to-google-cloud-run): This tutorial is written specifically for this example repo, and is compatible with the extended steps included in the subsequent [**Build your app**](tutorial) in the **Getting started** docs. It is the most detailed tutorial for taking a React Router-based Shopify app and deploying it to production. It includes configuring permissions and secrets, setting up a production database, and even hosting your apps behind a load balancer across multiple regions. +- [Fly.io](https://fly.io/docs/js/shopify/): Leverages the Fly.io CLI to quickly launch Shopify apps to a single machine. +- [Render](https://render.com/docs/deploy-shopify-app): This tutorial guides you through using Docker to deploy and install apps on a Dev store. +- [Manual deployment guide](https://shopify.dev/docs/apps/launch/deployment/deploy-to-hosting-service): This resource provides general guidance on the requirements of deployment including environment variables, secrets, and persistent data. + +When you reach the step for [setting up environment variables](https://shopify.dev/docs/apps/deployment/web#set-env-vars), you also need to set the variable `NODE_ENV=production`. + +## Gotchas / Troubleshooting + +### Database tables don't exist + +If you get an error like: + +``` +The table `main.Session` does not exist in the current database. +``` + +Create the database for Prisma. Run the `setup` script in `package.json` using `npm`, `yarn` or `pnpm`. + +### Navigating/redirecting breaks an embedded app + +Embedded apps must maintain the user session, which can be tricky inside an iFrame. To avoid issues: + +1. Use `Link` from `react-router` or `@shopify/polaris`. Do not use ``. +2. Use `redirect` returned from `authenticate.admin`. Do not use `redirect` from `react-router` +3. Use `useSubmit` from `react-router`. + +This only applies if your app is embedded, which it will be by default. + +### Webhooks: shop-specific webhook subscriptions aren't updated + +If you are registering webhooks in the `afterAuth` hook, using `shopify.registerWebhooks`, you may find that your subscriptions aren't being updated. + +Instead of using the `afterAuth` hook declare app-specific webhooks in the `shopify.app.toml` file. This approach is easier since Shopify will automatically sync changes every time you run `deploy` (e.g: `npm run deploy`). Please read these guides to understand more: + +1. [app-specific vs shop-specific webhooks](https://shopify.dev/docs/apps/build/webhooks/subscribe#app-specific-subscriptions) +2. [Create a subscription tutorial](https://shopify.dev/docs/apps/build/webhooks/subscribe/get-started?deliveryMethod=https) + +If you do need shop-specific webhooks, keep in mind that the package calls `afterAuth` in 2 scenarios: + +- After installing the app +- When an access token expires + +During normal development, the app won't need to re-authenticate most of the time, so shop-specific subscriptions aren't updated. To force your app to update the subscriptions, uninstall and reinstall the app. Revisiting the app will call the `afterAuth` hook. + +### Webhooks: Admin created webhook failing HMAC validation + +Webhooks subscriptions created in the [Shopify admin](https://help.shopify.com/en/manual/orders/notifications/webhooks) will fail HMAC validation. This is because the webhook payload is not signed with your app's secret key. + +The recommended solution is to use [app-specific webhooks](https://shopify.dev/docs/apps/build/webhooks/subscribe#app-specific-subscriptions) defined in your toml file instead. Test your webhooks by triggering events manually in the Shopify admin(e.g. Updating the product title to trigger a `PRODUCTS_UPDATE`). + +### Webhooks: Admin object undefined on webhook events triggered by the CLI + +When you trigger a webhook event using the Shopify CLI, the `admin` object will be `undefined`. This is because the CLI triggers an event with a valid, but non-existent, shop. The `admin` object is only available when the webhook is triggered by a shop that has installed the app. This is expected. + +Webhooks triggered by the CLI are intended for initial experimentation testing of your webhook configuration. For more information on how to test your webhooks, see the [Shopify CLI documentation](https://shopify.dev/docs/apps/tools/cli/commands#webhook-trigger). + +### Incorrect GraphQL Hints + +By default the [graphql.vscode-graphql](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql) extension for will assume that GraphQL queries or mutations are for the [Shopify Admin API](https://shopify.dev/docs/api/admin). This is a sensible default, but it may not be true if: + +1. You use another Shopify API such as the storefront API. +2. You use a third party GraphQL API. + +If so, please update [.graphqlrc.ts](https://github.com/Shopify/shopify-app-template-react-router/blob/main/.graphqlrc.ts). + +### Using Defer & await for streaming responses + +By default the CLI uses a cloudflare tunnel. Unfortunately cloudflare tunnels wait for the Response stream to finish, then sends one chunk. This will not affect production. + +To test [streaming using await](https://reactrouter.com/api/components/Await#await) during local development we recommend [localhost based development](https://shopify.dev/docs/apps/build/cli-for-apps/networking-options#localhost-based-development). + +### "nbf" claim timestamp check failed + +This is because a JWT token is expired. If you are consistently getting this error, it could be that the clock on your machine is not in sync with the server. To fix this ensure you have enabled "Set time and date automatically" in the "Date and Time" settings on your computer. + +### Using MongoDB and Prisma + +If you choose to use MongoDB with Prisma, there are some gotchas in Prisma's MongoDB support to be aware of. Please see the [Prisma SessionStorage README](https://www.npmjs.com/package/@shopify/shopify-app-session-storage-prisma#mongodb). + +### Unable to require(`C:\...\query_engine-windows.dll.node`). + +Unable to require(`C:\...\query_engine-windows.dll.node`). +The Prisma engines do not seem to be compatible with your system. + +query_engine-windows.dll.node is not a valid Win32 application. + +**Fix:** Set the environment variable: + +```shell +PRISMA_CLIENT_ENGINE_TYPE=binary +``` + +This forces Prisma to use the binary engine mode, which runs the query engine as a separate process and can work via emulation on Windows ARM64. + +## Resources + +React Router: + +- [React Router docs](https://reactrouter.com/home) + +Shopify: + +- [Intro to Shopify apps](https://shopify.dev/docs/apps/getting-started) +- [Shopify App React Router docs](https://shopify.dev/docs/api/shopify-app-react-router) +- [Shopify CLI](https://shopify.dev/docs/apps/tools/cli) +- [Shopify App Bridge](https://shopify.dev/docs/api/app-bridge-library). +- [Polaris Web Components](https://shopify.dev/docs/api/app-home/polaris-web-components). +- [App extensions](https://shopify.dev/docs/apps/app-extensions/list) +- [Shopify Functions](https://shopify.dev/docs/api/functions) + +Internationalization: + +- [Internationalizing your app](https://shopify.dev/docs/apps/best-practices/internationalization/getting-started) diff --git a/app/db.server.ts b/app/db.server.ts new file mode 100644 index 0000000..586c54b --- /dev/null +++ b/app/db.server.ts @@ -0,0 +1,16 @@ +import { PrismaClient } from "@prisma/client"; + +declare global { + // eslint-disable-next-line no-var + var prismaGlobal: PrismaClient; +} + +if (process.env.NODE_ENV !== "production") { + if (!global.prismaGlobal) { + global.prismaGlobal = new PrismaClient(); + } +} + +const prisma = global.prismaGlobal ?? new PrismaClient(); + +export default prisma; diff --git a/app/entry.server.tsx b/app/entry.server.tsx new file mode 100644 index 0000000..b9cf226 --- /dev/null +++ b/app/entry.server.tsx @@ -0,0 +1,57 @@ +import { PassThrough } from "stream"; +import { renderToPipeableStream } from "react-dom/server"; +import { ServerRouter } from "react-router"; +import { createReadableStreamFromReadable } from "@react-router/node"; +import { type EntryContext } from "react-router"; +import { isbot } from "isbot"; +import { addDocumentResponseHeaders } from "./shopify.server"; + +export const streamTimeout = 5000; + +export default async function handleRequest( + request: Request, + responseStatusCode: number, + responseHeaders: Headers, + reactRouterContext: EntryContext +) { + addDocumentResponseHeaders(request, responseHeaders); + const userAgent = request.headers.get("user-agent"); + const callbackName = isbot(userAgent ?? '') + ? "onAllReady" + : "onShellReady"; + + return new Promise((resolve, reject) => { + const { pipe, abort } = renderToPipeableStream( + , + { + [callbackName]: () => { + const body = new PassThrough(); + const stream = createReadableStreamFromReadable(body); + + responseHeaders.set("Content-Type", "text/html"); + resolve( + new Response(stream, { + headers: responseHeaders, + status: responseStatusCode, + }) + ); + pipe(body); + }, + onShellError(error) { + reject(error); + }, + onError(error) { + responseStatusCode = 500; + console.error(error); + }, + } + ); + + // Automatically timeout the React renderer after 6 seconds, which ensures + // React has enough time to flush down the rejected boundary contents + setTimeout(abort, streamTimeout + 1000); + }); +} diff --git a/app/globals.d.ts b/app/globals.d.ts new file mode 100644 index 0000000..cbe652d --- /dev/null +++ b/app/globals.d.ts @@ -0,0 +1 @@ +declare module "*.css"; diff --git a/app/root.tsx b/app/root.tsx new file mode 100644 index 0000000..743dd05 --- /dev/null +++ b/app/root.tsx @@ -0,0 +1,24 @@ +import { Links, Meta, Outlet, Scripts, ScrollRestoration } from "react-router"; + +export default function App() { + return ( + + + + + + + + + + + + + + + + ); +} diff --git a/app/routes.ts b/app/routes.ts new file mode 100644 index 0000000..dc7d046 --- /dev/null +++ b/app/routes.ts @@ -0,0 +1,3 @@ +import { flatRoutes } from "@react-router/fs-routes"; + +export default flatRoutes(); diff --git a/app/routes/_index/route.tsx b/app/routes/_index/route.tsx new file mode 100644 index 0000000..3ed06fa --- /dev/null +++ b/app/routes/_index/route.tsx @@ -0,0 +1,57 @@ +import type { LoaderFunctionArgs } from "react-router"; +import { redirect, Form, useLoaderData } from "react-router"; + +import { login } from "../../shopify.server"; + +import styles from "./styles.module.css"; + +export const loader = async ({ request }: LoaderFunctionArgs) => { + const url = new URL(request.url); + + if (url.searchParams.get("shop")) { + throw redirect(`/app?${url.searchParams.toString()}`); + } + + return { showForm: Boolean(login) }; +}; + +export default function App() { + const { showForm } = useLoaderData(); + + return ( +
+
+

A short heading about [your app]

+

+ A tagline about [your app] that describes your value proposition. +

+ {showForm && ( +
+ + +
+ )} +
    +
  • + Product feature. Some detail about your feature and + its benefit to your customer. +
  • +
  • + Product feature. Some detail about your feature and + its benefit to your customer. +
  • +
  • + Product feature. Some detail about your feature and + its benefit to your customer. +
  • +
+
+
+ ); +} diff --git a/app/routes/_index/styles.module.css b/app/routes/_index/styles.module.css new file mode 100644 index 0000000..271721f --- /dev/null +++ b/app/routes/_index/styles.module.css @@ -0,0 +1,73 @@ +.index { + align-items: center; + display: flex; + justify-content: center; + height: 100%; + width: 100%; + text-align: center; + padding: 1rem; +} + +.heading, +.text { + padding: 0; + margin: 0; +} + +.text { + font-size: 1.2rem; + padding-bottom: 2rem; +} + +.content { + display: grid; + gap: 2rem; +} + +.form { + display: flex; + align-items: center; + justify-content: flex-start; + margin: 0 auto; + gap: 1rem; +} + +.label { + display: grid; + gap: 0.2rem; + max-width: 20rem; + text-align: left; + font-size: 1rem; +} + +.input { + padding: 0.4rem; +} + +.button { + padding: 0.4rem; +} + +.list { + list-style: none; + padding: 0; + padding-top: 3rem; + margin: 0; + display: flex; + gap: 2rem; +} + +.list > li { + max-width: 20rem; + text-align: left; +} + +@media only screen and (max-width: 50rem) { + .list { + display: block; + } + + .list > li { + padding-bottom: 1rem; + } +} diff --git a/app/routes/app._index.tsx b/app/routes/app._index.tsx new file mode 100644 index 0000000..7fe26a1 --- /dev/null +++ b/app/routes/app._index.tsx @@ -0,0 +1,345 @@ +import { useEffect } from "react"; +import type { + ActionFunctionArgs, + HeadersFunction, + LoaderFunctionArgs, +} from "react-router"; +import { useFetcher } from "react-router"; +import { useAppBridge } from "@shopify/app-bridge-react"; +import { authenticate } from "../shopify.server"; +import { boundary } from "@shopify/shopify-app-react-router/server"; + +export const loader = async ({ request }: LoaderFunctionArgs) => { + await authenticate.admin(request); + + return null; +}; + +export const action = async ({ request }: ActionFunctionArgs) => { + const { admin } = await authenticate.admin(request); + const color = ["Red", "Orange", "Yellow", "Green"][ + Math.floor(Math.random() * 4) + ]; + const response = await admin.graphql( + `#graphql + mutation populateProduct($product: ProductCreateInput!) { + productCreate(product: $product) { + product { + id + title + handle + status + variants(first: 10) { + edges { + node { + id + price + barcode + createdAt + } + } + } + demoInfo: metafield(namespace: "$app", key: "demo_info") { + jsonValue + } + } + } + }`, + { + variables: { + product: { + title: `${color} Snowboard`, + metafields: [ + { + namespace: "$app", + key: "demo_info", + value: "Created by React Router Template", + }, + ], + }, + }, + }, + ); + const responseJson = await response.json(); + + const product = responseJson.data!.productCreate!.product!; + const variantId = product.variants.edges[0]!.node!.id!; + + const variantResponse = await admin.graphql( + `#graphql + mutation shopifyReactRouterTemplateUpdateVariant($productId: ID!, $variants: [ProductVariantsBulkInput!]!) { + productVariantsBulkUpdate(productId: $productId, variants: $variants) { + productVariants { + id + price + barcode + createdAt + } + } + }`, + { + variables: { + productId: product.id, + variants: [{ id: variantId, price: "100.00" }], + }, + }, + ); + + const variantResponseJson = await variantResponse.json(); + + const metaobjectResponse = await admin.graphql( + `#graphql + mutation shopifyReactRouterTemplateUpsertMetaobject($handle: MetaobjectHandleInput!, $metaobject: MetaobjectUpsertInput!) { + metaobjectUpsert(handle: $handle, metaobject: $metaobject) { + metaobject { + id + handle + title: field(key: "title") { + jsonValue + } + description: field(key: "description") { + jsonValue + } + } + userErrors { + field + message + } + } + }`, + { + variables: { + handle: { + type: "$app:example", + handle: "demo-entry", + }, + metaobject: { + fields: [ + { key: "title", value: "Demo Entry" }, + { + key: "description", + value: + "This metaobject was created by the Shopify app template to demonstrate the metaobject API.", + }, + ], + }, + }, + }, + ); + + const metaobjectResponseJson = await metaobjectResponse.json(); + + return { + product: responseJson!.data!.productCreate!.product, + variant: + variantResponseJson!.data!.productVariantsBulkUpdate!.productVariants, + metaobject: + metaobjectResponseJson!.data!.metaobjectUpsert!.metaobject, + }; +}; + +export default function Index() { + const fetcher = useFetcher(); + + const shopify = useAppBridge(); + const isLoading = + ["loading", "submitting"].includes(fetcher.state) && + fetcher.formMethod === "POST"; + + useEffect(() => { + if (fetcher.data?.product?.id) { + shopify.toast.show("Product created"); + } + }, [fetcher.data?.product?.id, shopify]); + + const generateProduct = () => fetcher.submit({}, { method: "POST" }); + + return ( + + + Generate a product + + + + + This embedded app template uses{" "} + + App Bridge + {" "} + interface examples like an{" "} + additional page in the app nav + , as well as an{" "} + + Admin GraphQL + {" "} + mutation demo, to provide a starting point for app development. + + + + + Generate a product with GraphQL and get the JSON output for that + product. Learn more about the{" "} + + productCreate + {" "} + mutation in our API references. Includes a product{" "} + + metafield + {" "} + and{" "} + + metaobject + + . + + + + Generate a product + + {fetcher.data?.product && ( + { + shopify.intents.invoke?.("edit:shopify/Product", { + value: fetcher.data?.product?.id, + }); + }} + target="_blank" + variant="tertiary" + > + Edit product + + )} + + {fetcher.data?.product && ( + + + +
+                  {JSON.stringify(fetcher.data.product, null, 2)}
+                
+
+ + productVariantsBulkUpdate mutation + +
+                  {JSON.stringify(fetcher.data.variant, null, 2)}
+                
+
+ + metaobjectUpsert mutation + +
+                  
+                    {JSON.stringify(fetcher.data.metaobject, null, 2)}
+                  
+                
+
+
+
+ )} +
+ + + + Framework: + + React Router + + + + Interface: + + Polaris web components + + + + API: + + GraphQL + + + + Custom data: + + Metafields & metaobjects + + + + Database: + + Prisma + + + + + + + + Build an{" "} + + example app + + + + Explore Shopify's API with{" "} + + GraphiQL + + + + +
+ ); +} + +export const headers: HeadersFunction = (headersArgs) => { + return boundary.headers(headersArgs); +}; diff --git a/app/routes/app.additional.tsx b/app/routes/app.additional.tsx new file mode 100644 index 0000000..e7c8c72 --- /dev/null +++ b/app/routes/app.additional.tsx @@ -0,0 +1,37 @@ +export default function AdditionalPage() { + return ( + + + + The app template comes with an additional page which demonstrates how + to create multiple pages within app navigation using{" "} + + App Bridge + + . + + + To create your own page and have it show up in the app navigation, add + a page inside app/routes, and a link to it in the{" "} + <ui-nav-menu> component found in{" "} + app/routes/app.jsx. + + + + + + + App nav best practices + + + + + + ); +} diff --git a/app/routes/app.tsx b/app/routes/app.tsx new file mode 100644 index 0000000..338e74b --- /dev/null +++ b/app/routes/app.tsx @@ -0,0 +1,36 @@ +import type { HeadersFunction, LoaderFunctionArgs } from "react-router"; +import { Outlet, useLoaderData, useRouteError } from "react-router"; +import { boundary } from "@shopify/shopify-app-react-router/server"; +import { AppProvider } from "@shopify/shopify-app-react-router/react"; + +import { authenticate } from "../shopify.server"; + +export const loader = async ({ request }: LoaderFunctionArgs) => { + await authenticate.admin(request); + + // eslint-disable-next-line no-undef + return { apiKey: process.env.SHOPIFY_API_KEY || "" }; +}; + +export default function App() { + const { apiKey } = useLoaderData(); + + return ( + + + Home + Additional page + + + + ); +} + +// Shopify needs React Router to catch some thrown responses, so that their headers are included in the response. +export function ErrorBoundary() { + return boundary.error(useRouteError()); +} + +export const headers: HeadersFunction = (headersArgs) => { + return boundary.headers(headersArgs); +}; diff --git a/app/routes/auth.$.tsx b/app/routes/auth.$.tsx new file mode 100644 index 0000000..734fc04 --- /dev/null +++ b/app/routes/auth.$.tsx @@ -0,0 +1,14 @@ + +import type { HeadersFunction, LoaderFunctionArgs } from "react-router"; +import { authenticate } from "../shopify.server"; +import { boundary } from "@shopify/shopify-app-react-router/server"; + +export const loader = async ({ request }: LoaderFunctionArgs) => { + await authenticate.admin(request); + + return null; +}; + +export const headers: HeadersFunction = (headersArgs) => { + return boundary.headers(headersArgs); +}; diff --git a/app/routes/auth.login/error.server.tsx b/app/routes/auth.login/error.server.tsx new file mode 100644 index 0000000..9c016a4 --- /dev/null +++ b/app/routes/auth.login/error.server.tsx @@ -0,0 +1,16 @@ +import type { LoginError } from "@shopify/shopify-app-react-router/server"; +import { LoginErrorType } from "@shopify/shopify-app-react-router/server"; + +interface LoginErrorMessage { + shop?: string; +} + +export function loginErrorMessage(loginErrors: LoginError): LoginErrorMessage { + if (loginErrors?.shop === LoginErrorType.MissingShop) { + return { shop: "Please enter your shop domain to log in" }; + } else if (loginErrors?.shop === LoginErrorType.InvalidShop) { + return { shop: "Please enter a valid shop domain to log in" }; + } + + return {}; +} diff --git a/app/routes/auth.login/route.tsx b/app/routes/auth.login/route.tsx new file mode 100644 index 0000000..6ecf717 --- /dev/null +++ b/app/routes/auth.login/route.tsx @@ -0,0 +1,49 @@ +import { AppProvider } from "@shopify/shopify-app-react-router/react"; +import { useState } from "react"; +import type { ActionFunctionArgs, LoaderFunctionArgs } from "react-router"; +import { Form, useActionData, useLoaderData } from "react-router"; + +import { login } from "../../shopify.server"; +import { loginErrorMessage } from "./error.server"; + +export const loader = async ({ request }: LoaderFunctionArgs) => { + const errors = loginErrorMessage(await login(request)); + + return { errors }; +}; + +export const action = async ({ request }: ActionFunctionArgs) => { + const errors = loginErrorMessage(await login(request)); + + return { + errors, + }; +}; + +export default function Auth() { + const loaderData = useLoaderData(); + const actionData = useActionData(); + const [shop, setShop] = useState(""); + const { errors } = actionData || loaderData; + + return ( + + +
+ + setShop(e.currentTarget.value)} + autocomplete="on" + error={errors.shop} + > + Log in + +
+
+
+ ); +} diff --git a/app/routes/webhooks.app.scopes_update.tsx b/app/routes/webhooks.app.scopes_update.tsx new file mode 100644 index 0000000..b1610b8 --- /dev/null +++ b/app/routes/webhooks.app.scopes_update.tsx @@ -0,0 +1,21 @@ +import type { ActionFunctionArgs } from "react-router"; +import { authenticate } from "../shopify.server"; +import db from "../db.server"; + +export const action = async ({ request }: ActionFunctionArgs) => { + const { payload, session, topic, shop } = await authenticate.webhook(request); + console.log(`Received ${topic} webhook for ${shop}`); + + const current = payload.current as string[]; + if (session) { + await db.session.update({ + where: { + id: session.id + }, + data: { + scope: current.toString(), + }, + }); + } + return new Response(); +}; diff --git a/app/routes/webhooks.app.uninstalled.tsx b/app/routes/webhooks.app.uninstalled.tsx new file mode 100644 index 0000000..aaf7cc8 --- /dev/null +++ b/app/routes/webhooks.app.uninstalled.tsx @@ -0,0 +1,17 @@ +import type { ActionFunctionArgs } from "react-router"; +import { authenticate } from "../shopify.server"; +import db from "../db.server"; + +export const action = async ({ request }: ActionFunctionArgs) => { + const { shop, session, topic } = await authenticate.webhook(request); + + console.log(`Received ${topic} webhook for ${shop}`); + + // Webhook requests can trigger multiple times and after an app has already been uninstalled. + // If this webhook already ran, the session may have been deleted previously. + if (session) { + await db.session.deleteMany({ where: { shop } }); + } + + return new Response(); +}; diff --git a/app/shopify.server.ts b/app/shopify.server.ts new file mode 100644 index 0000000..691d476 --- /dev/null +++ b/app/shopify.server.ts @@ -0,0 +1,34 @@ +import "@shopify/shopify-app-react-router/adapters/node"; +import { + ApiVersion, + AppDistribution, + shopifyApp, +} from "@shopify/shopify-app-react-router/server"; +import { PrismaSessionStorage } from "@shopify/shopify-app-session-storage-prisma"; +import prisma from "./db.server"; + +const shopify = shopifyApp({ + apiKey: process.env.SHOPIFY_API_KEY, + apiSecretKey: process.env.SHOPIFY_API_SECRET || "", + apiVersion: ApiVersion.October25, + scopes: process.env.SCOPES?.split(","), + appUrl: process.env.SHOPIFY_APP_URL || "", + authPathPrefix: "/auth", + sessionStorage: new PrismaSessionStorage(prisma), + distribution: AppDistribution.AppStore, + future: { + expiringOfflineAccessTokens: true, + }, + ...(process.env.SHOP_CUSTOM_DOMAIN + ? { customShopDomains: [process.env.SHOP_CUSTOM_DOMAIN] } + : {}), +}); + +export default shopify; +export const apiVersion = ApiVersion.October25; +export const addDocumentResponseHeaders = shopify.addDocumentResponseHeaders; +export const authenticate = shopify.authenticate; +export const unauthenticated = shopify.unauthenticated; +export const login = shopify.login; +export const registerWebhooks = shopify.registerWebhooks; +export const sessionStorage = shopify.sessionStorage; diff --git a/data/rechnung.png b/data/rechnung.png new file mode 100644 index 0000000000000000000000000000000000000000..a01150428e7d66262db27a2d41c65a75fe755489 GIT binary patch literal 193877 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

j)+p89 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 Rv|s|ra8Fl1mvv4FO#rz2Pxb%+ literal 0 HcmV?d00001 diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 0000000..fc1bbb2 --- /dev/null +++ b/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/extensions/.gitkeep b/extensions/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..4292a82 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,12374 @@ +{ + "name": "linumiq-invoice", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "linumiq-invoice", + "workspaces": [ + "extensions/*" + ], + "dependencies": { + "@prisma/client": "^6.16.3", + "@react-router/dev": "^7.12.0", + "@react-router/fs-routes": "^7.12.0", + "@react-router/node": "^7.12.0", + "@react-router/serve": "^7.12.0", + "@shopify/app-bridge-react": "^4.2.4", + "@shopify/shopify-app-react-router": "^1.1.0", + "@shopify/shopify-app-session-storage-prisma": "^8.0.0", + "isbot": "^5.1.31", + "prisma": "^6.16.3", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router": "^7.12.0", + "vite-tsconfig-paths": "^5.1.4" + }, + "devDependencies": { + "@shopify/api-codegen-preset": "^1.2.0", + "@shopify/polaris-types": "^1.0.1", + "@types/eslint": "^9.6.1", + "@types/node": "^22.18.8", + "@types/react": "^18.3.25", + "@types/react-dom": "^18.3.7", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "eslint": "^8.57.1", + "eslint-import-resolver-typescript": "^3.10.1", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^4.6.2", + "graphql-config": "^5.1.1", + "prettier": "^3.6.2", + "typescript": "^5.9.3", + "vite": "^6.3.6" + }, + "engines": { + "node": ">=20.19 <22 || >=22.12" + } + }, + "node_modules/@ardatan/relay-compiler": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-13.0.1.tgz", + "integrity": "sha512-afG3YPwuSA0E5foouZusz5GlXKs74dObv4cuWyLyfKsYFj2r7oGRNB28v18HvwuLSQtQFCi+DpIe0TZkgQDYyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "immutable": "^5.1.5", + "invariant": "^2.2.4" + }, + "peerDependencies": { + "graphql": "*" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", + "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@envelop/core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@envelop/core/-/core-5.5.1.tgz", + "integrity": "sha512-3DQg8sFskDo386TkL5j12jyRAdip/8yzK3x7YGbZBgobZ4aKXrvDU0GppU0SnmrpQnNaiTUsxBs9LKkwQ/eyvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/instrumentation": "^1.0.0", + "@envelop/types": "^5.2.1", + "@whatwg-node/promise-helpers": "^1.2.4", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@envelop/instrumentation": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", + "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.2.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@envelop/types": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@envelop/types/-/types-5.2.1.tgz", + "integrity": "sha512-CsFmA3u3c2QoLDTfEpGr4t25fjMU31nyvse7IzWTvb0ZycuPjMjb0fjlheh+PbhBYb9YLugnT2uY6Mwcg1o+Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/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/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/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/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.0.tgz", + "integrity": "sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@graphql-codegen/add": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-5.0.3.tgz", + "integrity": "sha512-SxXPmramkth8XtBlAHu4H4jYcYXM/o3p01+psU+0NADQowA8jtYkK6MW5rV6T+CxkEaNZItfSmZRPgIuypcqnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.0.3", + "tslib": "~2.6.0" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/add/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/cli": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-5.0.7.tgz", + "integrity": "sha512-h/sxYvSaWtxZxo8GtaA8SvcHTyViaaPd7dweF/hmRDpaQU1o3iU3EZxlcJ+oLTunU0tSMFsnrIXm/mhXxI11Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/generator": "^7.18.13", + "@babel/template": "^7.18.10", + "@babel/types": "^7.18.13", + "@graphql-codegen/client-preset": "^4.8.2", + "@graphql-codegen/core": "^4.0.2", + "@graphql-codegen/plugin-helpers": "^5.1.1", + "@graphql-tools/apollo-engine-loader": "^8.0.0", + "@graphql-tools/code-file-loader": "^8.0.0", + "@graphql-tools/git-loader": "^8.0.0", + "@graphql-tools/github-loader": "^8.0.0", + "@graphql-tools/graphql-file-loader": "^8.0.0", + "@graphql-tools/json-file-loader": "^8.0.0", + "@graphql-tools/load": "^8.1.0", + "@graphql-tools/prisma-loader": "^8.0.0", + "@graphql-tools/url-loader": "^8.0.0", + "@graphql-tools/utils": "^10.0.0", + "@whatwg-node/fetch": "^0.10.0", + "chalk": "^4.1.0", + "cosmiconfig": "^8.1.3", + "debounce": "^1.2.0", + "detect-indent": "^6.0.0", + "graphql-config": "^5.1.1", + "inquirer": "^8.0.0", + "is-glob": "^4.0.1", + "jiti": "^1.17.1", + "json-to-pretty-yaml": "^1.2.2", + "listr2": "^4.0.5", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.5", + "shell-quote": "^1.7.3", + "string-env-interpolation": "^1.0.1", + "ts-log": "^2.2.3", + "tslib": "^2.4.0", + "yaml": "^2.3.1", + "yargs": "^17.0.0" + }, + "bin": { + "gql-gen": "cjs/bin.js", + "graphql-code-generator": "cjs/bin.js", + "graphql-codegen": "cjs/bin.js", + "graphql-codegen-esm": "esm/bin.js" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@parcel/watcher": "^2.1.0", + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + }, + "peerDependenciesMeta": { + "@parcel/watcher": { + "optional": true + } + } + }, + "node_modules/@graphql-codegen/client-preset": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-4.8.3.tgz", + "integrity": "sha512-QpEsPSO9fnRxA6Z66AmBuGcwHjZ6dYSxYo5ycMlYgSPzAbyG8gn/kWljofjJfWqSY+T/lRn+r8IXTH14ml24vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7", + "@graphql-codegen/add": "^5.0.3", + "@graphql-codegen/gql-tag-operations": "4.0.17", + "@graphql-codegen/plugin-helpers": "^5.1.1", + "@graphql-codegen/typed-document-node": "^5.1.2", + "@graphql-codegen/typescript": "^4.1.6", + "@graphql-codegen/typescript-operations": "^4.6.1", + "@graphql-codegen/visitor-plugin-common": "^5.8.0", + "@graphql-tools/documents": "^1.0.0", + "@graphql-tools/utils": "^10.0.0", + "@graphql-typed-document-node/core": "3.2.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "graphql-sock": "^1.0.0" + }, + "peerDependenciesMeta": { + "graphql-sock": { + "optional": true + } + } + }, + "node_modules/@graphql-codegen/client-preset/node_modules/@graphql-codegen/schema-ast": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-4.1.0.tgz", + "integrity": "sha512-kZVn0z+th9SvqxfKYgztA6PM7mhnSZaj4fiuBWvMTqA+QqQ9BBed6Pz41KuD/jr0gJtnlr2A4++/0VlpVbCTmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.0.3", + "@graphql-tools/utils": "^10.0.0", + "tslib": "~2.6.0" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/client-preset/node_modules/@graphql-codegen/typescript": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-4.1.6.tgz", + "integrity": "sha512-vpw3sfwf9A7S+kIUjyFxuvrywGxd4lmwmyYnnDVjVE4kSQ6Td3DpqaPTy8aNQ6O96vFoi/bxbZS2BW49PwSUUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.1.0", + "@graphql-codegen/schema-ast": "^4.0.2", + "@graphql-codegen/visitor-plugin-common": "5.8.0", + "auto-bind": "~4.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/client-preset/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/core": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-4.0.2.tgz", + "integrity": "sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.0.3", + "@graphql-tools/schema": "^10.0.0", + "@graphql-tools/utils": "^10.0.0", + "tslib": "~2.6.0" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/core/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/gql-tag-operations": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-4.0.17.tgz", + "integrity": "sha512-2pnvPdIG6W9OuxkrEZ6hvZd142+O3B13lvhrZ48yyEBh2ujtmKokw0eTwDHtlXUqjVS0I3q7+HB2y12G/m69CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.1.0", + "@graphql-codegen/visitor-plugin-common": "5.8.0", + "@graphql-tools/utils": "^10.0.0", + "auto-bind": "~4.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/gql-tag-operations/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/introspection": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@graphql-codegen/introspection/-/introspection-4.0.3.tgz", + "integrity": "sha512-4cHRG15Zu4MXMF4wTQmywNf4+fkDYv5lTbzraVfliDnB8rJKcaurQpRBi11KVuQUe24YTq/Cfk4uwewfNikWoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.0.3", + "@graphql-codegen/visitor-plugin-common": "^5.0.0", + "tslib": "~2.6.0" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/introspection/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/plugin-helpers": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-5.1.1.tgz", + "integrity": "sha512-28GHODK2HY1NhdyRcPP3sCz0Kqxyfiz7boIZ8qIxFYmpLYnlDgiYok5fhFLVSZihyOpCs4Fa37gVHf/Q4I2FEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.0.0", + "change-case-all": "1.0.15", + "common-tags": "1.8.2", + "import-from": "4.0.0", + "lodash": "~4.17.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/plugin-helpers/node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@graphql-codegen/plugin-helpers/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/schema-ast": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-5.0.2.tgz", + "integrity": "sha512-jl1F/9IjRkJisEb9B0ayG4QGqYlPldLRy8ojDdmL9NE1NsdB5ROfxQnSqyC3g+wuvBhWX7kZgMRQYn3RU1I5bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-tools/utils": "^11.0.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/schema-ast/node_modules/@graphql-codegen/plugin-helpers": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.3.0.tgz", + "integrity": "sha512-Auc+/B7okDx9+pVgLVliZtZLYh6iltWXlnzzM+bRE+zh1T4r3hKbnr8xAmtT937ArfSgk5GHcQHr8LfPYnrRBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.0.0", + "change-case-all": "1.0.15", + "common-tags": "1.8.2", + "import-from": "4.0.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/schema-ast/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-codegen/typed-document-node": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-5.1.2.tgz", + "integrity": "sha512-jaxfViDqFRbNQmfKwUY8hDyjnLTw2Z7DhGutxoOiiAI0gE/LfPe0LYaVFKVmVOOD7M3bWxoWfu4slrkbWbUbEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.1.0", + "@graphql-codegen/visitor-plugin-common": "5.8.0", + "auto-bind": "~4.0.0", + "change-case-all": "1.0.15", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/typed-document-node/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/typescript": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-5.0.10.tgz", + "integrity": "sha512-Pa8OFmL9TdhEYnLYJLYA9EhP8eEeivP/YDYq4Nb8LQaL7GXm4TGX8zELYaCM9Fu8M3iZb7iQGMt7qc+1lXz8XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-codegen/schema-ast": "^5.0.2", + "@graphql-codegen/visitor-plugin-common": "^6.3.0", + "auto-bind": "~4.0.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/typescript-operations": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-4.6.1.tgz", + "integrity": "sha512-k92laxhih7s0WZ8j5WMIbgKwhe64C0As6x+PdcvgZFMudDJ7rPJ/hFqJ9DCRxNjXoHmSjnr6VUuQZq4lT1RzCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.1.0", + "@graphql-codegen/typescript": "^4.1.6", + "@graphql-codegen/visitor-plugin-common": "5.8.0", + "auto-bind": "~4.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "graphql-sock": "^1.0.0" + }, + "peerDependenciesMeta": { + "graphql-sock": { + "optional": true + } + } + }, + "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/schema-ast": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-4.1.0.tgz", + "integrity": "sha512-kZVn0z+th9SvqxfKYgztA6PM7mhnSZaj4fiuBWvMTqA+QqQ9BBed6Pz41KuD/jr0gJtnlr2A4++/0VlpVbCTmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.0.3", + "@graphql-tools/utils": "^10.0.0", + "tslib": "~2.6.0" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/typescript-operations/node_modules/@graphql-codegen/typescript": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-4.1.6.tgz", + "integrity": "sha512-vpw3sfwf9A7S+kIUjyFxuvrywGxd4lmwmyYnnDVjVE4kSQ6Td3DpqaPTy8aNQ6O96vFoi/bxbZS2BW49PwSUUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.1.0", + "@graphql-codegen/schema-ast": "^4.0.2", + "@graphql-codegen/visitor-plugin-common": "5.8.0", + "auto-bind": "~4.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/typescript-operations/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/plugin-helpers": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.3.0.tgz", + "integrity": "sha512-Auc+/B7okDx9+pVgLVliZtZLYh6iltWXlnzzM+bRE+zh1T4r3hKbnr8xAmtT937ArfSgk5GHcQHr8LfPYnrRBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.0.0", + "change-case-all": "1.0.15", + "common-tags": "1.8.2", + "import-from": "4.0.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/typescript/node_modules/@graphql-codegen/visitor-plugin-common": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.3.0.tgz", + "integrity": "sha512-vGBoE+4huzZyNhyGSAhXAkdROHlwKxxuziZm4XtP1mxe7nuI+VgyOmXebafLijbmuDsptPXQN0C/htL54O8hrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.3.0", + "@graphql-tools/optimize": "^2.0.0", + "@graphql-tools/relay-operation-optimizer": "^7.1.1", + "@graphql-tools/utils": "^11.0.0", + "auto-bind": "~4.0.0", + "change-case-all": "1.0.15", + "dependency-graph": "^1.0.0", + "graphql-tag": "^2.11.0", + "parse-filepath": "^1.0.2", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/typescript/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-codegen/typescript/node_modules/dependency-graph": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", + "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@graphql-codegen/visitor-plugin-common": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-5.8.0.tgz", + "integrity": "sha512-lC1E1Kmuzi3WZUlYlqB4fP6+CvbKH9J+haU1iWmgsBx5/sO2ROeXJG4Dmt8gP03bI2BwjiwV5WxCEMlyeuzLnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.1.0", + "@graphql-tools/optimize": "^2.0.0", + "@graphql-tools/relay-operation-optimizer": "^7.0.0", + "@graphql-tools/utils": "^10.0.0", + "auto-bind": "~4.0.0", + "change-case-all": "1.0.15", + "dependency-graph": "^0.11.0", + "graphql-tag": "^2.11.0", + "parse-filepath": "^1.0.2", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-hive/signal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-1.0.0.tgz", + "integrity": "sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@graphql-tools/apollo-engine-loader": { + "version": "8.0.30", + "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.30.tgz", + "integrity": "sha512-hUydKGGECrWloERMmfoMzHZi12X99AM9geCGF5XVsv4iMRl/Iyuet24th4kC9bZ8MlAdCwAwtUsCyv9uRfYwSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.1.0", + "@whatwg-node/fetch": "^0.10.13", + "sync-fetch": "0.6.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/apollo-engine-loader/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/batch-execute": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-9.0.19.tgz", + "integrity": "sha512-VGamgY4PLzSx48IHPoblRw0oTaBa7S26RpZXt0Y4NN90ytoE0LutlpB2484RbkfcTjv9wa64QD474+YP1kEgGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/promise-helpers": "^1.3.0", + "dataloader": "^2.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/code-file-loader": { + "version": "8.1.32", + "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.32.tgz", + "integrity": "sha512-gR5mNQjn0BugDL8a4A+ovS2KEvU52RNOGnbwiq9oWAEHiSv7iqJu77bpWARTzlE1ZFPK5MSQe9218+1t5PbXmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/graphql-tag-pluck": "8.3.31", + "@graphql-tools/utils": "^11.1.0", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/code-file-loader/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/delegate": { + "version": "10.2.23", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-10.2.23.tgz", + "integrity": "sha512-xrPtl7f1LxS+B6o+W7ueuQh67CwRkfl+UKJncaslnqYdkxKmNBB4wnzVcW8ZsRdwbsla/v43PtwAvSlzxCzq2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/batch-execute": "^9.0.19", + "@graphql-tools/executor": "^1.4.9", + "@graphql-tools/schema": "^10.0.25", + "@graphql-tools/utils": "^10.9.1", + "@repeaterjs/repeater": "^3.0.6", + "@whatwg-node/promise-helpers": "^1.3.0", + "dataloader": "^2.2.3", + "dset": "^3.1.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/documents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/documents/-/documents-1.0.1.tgz", + "integrity": "sha512-aweoMH15wNJ8g7b2r4C4WRuJxZ0ca8HtNO54rkye/3duxTkW4fGBEutCx03jCIr5+a1l+4vFJNP859QnAVBVCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.5.3.tgz", + "integrity": "sha512-mgBFC0bsrZPZLu9EnydpMnAuQ8Iiq0CEbUcsmvXsm2/iYektGHDN/+bmb7hicA6dWZtdPfklYJmr21WD0GnOfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.1.0", + "@graphql-typed-document-node/core": "^3.2.0", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-common": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.4.tgz", + "integrity": "sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.2.3", + "@graphql-tools/utils": "^10.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-graphql-ws": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-2.0.7.tgz", + "integrity": "sha512-J27za7sKF6RjhmvSOwOQFeNhNHyP4f4niqPnerJmq73OtLx9Y2PGOhkXOEB0PjhvPJceuttkD2O1yMgEkTGs3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-common": "^0.0.6", + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/disposablestack": "^0.0.6", + "graphql-ws": "^6.0.6", + "isomorphic-ws": "^5.0.0", + "tslib": "^2.8.1", + "ws": "^8.18.3" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-graphql-ws/node_modules/@graphql-tools/executor-common": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.6.tgz", + "integrity": "sha512-JAH/R1zf77CSkpYATIJw+eOJwsbWocdDjY+avY7G+P5HCXxwQjAjWVkJI1QJBQYjPQDVxwf1fmTZlIN3VOadow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.3.0", + "@graphql-tools/utils": "^10.9.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-http": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-1.3.3.tgz", + "integrity": "sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-hive/signal": "^1.0.0", + "@graphql-tools/executor-common": "^0.0.4", + "@graphql-tools/utils": "^10.8.1", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.4", + "@whatwg-node/promise-helpers": "^1.3.0", + "meros": "^1.2.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-legacy-ws": { + "version": "1.1.28", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.28.tgz", + "integrity": "sha512-O4uj93GG9iUb3s32eyhUohvyfA8mLhN8FvGzEdK628hFQPhZN75yurtVFrR08DHex71mQ3wYCCFkErpwdJbDDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.1.0", + "@types/ws": "^8.0.0", + "isomorphic-ws": "^5.0.0", + "tslib": "^2.4.0", + "ws": "^8.20.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-legacy-ws/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/git-loader": { + "version": "8.0.36", + "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-8.0.36.tgz", + "integrity": "sha512-PDDakesRu8FJYHJLf9/gkTweh8M19Bymz9i+vOlk9OTs9XmNcCqKM+1S610KX2AodvuBFz/xbesjTtTJIppLPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/graphql-tag-pluck": "8.3.31", + "@graphql-tools/utils": "^11.1.0", + "is-glob": "4.0.3", + "micromatch": "^4.0.8", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/git-loader/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/github-loader": { + "version": "8.0.22", + "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-8.0.22.tgz", + "integrity": "sha512-uQ4JNcNPsyMkTIgzeSbsoT9hogLjYrZooLUYd173l5eUGUi49EAcsGdiBCKaKfEjanv410FE8hjaHr7fjSRkJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-http": "^1.1.9", + "@graphql-tools/graphql-tag-pluck": "^8.3.21", + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/fetch": "^0.10.0", + "@whatwg-node/promise-helpers": "^1.0.0", + "sync-fetch": "0.6.0-2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/github-loader/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/@graphql-tools/github-loader/node_modules/sync-fetch": { + "version": "0.6.0-2", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0-2.tgz", + "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^3.3.2", + "timeout-signal": "^2.0.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@graphql-tools/graphql-file-loader": { + "version": "8.1.14", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.1.14.tgz", + "integrity": "sha512-CfAcsSEVkkHfEXLFzrd5rUYpcQEGWNV8lfc1Tb1p5m9HnYICzDDH08I5V33iMrEDza3GuujjjRBYqplBkqwIow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/import": "^7.1.14", + "@graphql-tools/utils": "^11.1.0", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/graphql-file-loader/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/graphql-tag-pluck": { + "version": "8.3.31", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.31.tgz", + "integrity": "sha512-ema2RRPZGj8TKruNElyDBHVCNFMxioGIVfLBuiA+GdfmRGt95b/i7Uksnj4EwItA6MCmhxokxZoa/fl6mJt3tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.6", + "@babel/parser": "^7.29.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "@graphql-tools/utils": "^11.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/graphql-tag-pluck/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/import": { + "version": "7.1.14", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.1.14.tgz", + "integrity": "sha512-aqLcu04aEidszbXM6M0PWWL8bP17eX9sxXwjYWpglLvIRd4NFqb3C9QzBY8pleqXNMtWqXktlm9BQjevgSrirQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.1.0", + "resolve-from": "5.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/import/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/json-file-loader": { + "version": "8.0.28", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.28.tgz", + "integrity": "sha512-qgCsSkPArnjlNkcYpgGKiXxCTNkrAT9E+l1LhR+Por2jTlKBBeZ8stortkQ/PNDDjuL0WPrLQmHKhNPHabnB3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.1.0", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/json-file-loader/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/load": { + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.1.10.tgz", + "integrity": "sha512-hjcvfEFtwtc8vGi46wtpmGWadNzfEhzbjqinyFIZuIZPlR4aYdWQtqWtY/RMM4Ew4t1USkMNm6xrqC2TH1vCSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/schema": "^10.0.33", + "@graphql-tools/utils": "^11.1.0", + "p-limit": "3.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/load/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/merge": { + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.1.9.tgz", + "integrity": "sha512-iHUWNjRHeQRYdgIMIuChThOwoKzA9vrzYeslgfBo5eUYEyHGZCoDPjAavssoYXLwstYt1dZj2J22jSzc2DrN0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/optimize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-2.0.0.tgz", + "integrity": "sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/prisma-loader": { + "version": "8.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-8.0.17.tgz", + "integrity": "sha512-fnuTLeQhqRbA156pAyzJYN0KxCjKYRU5bz1q/SKOwElSnAU4k7/G1kyVsWLh7fneY78LoMNH5n+KlFV8iQlnyg==", + "deprecated": "This package was intended to be used with an older versions of Prisma.\\nThe newer versions of Prisma has a different approach to GraphQL integration.\\nTherefore, this package is no longer needed and has been deprecated and removed.\\nLearn more: https://www.prisma.io/graphql", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/url-loader": "^8.0.15", + "@graphql-tools/utils": "^10.5.6", + "@types/js-yaml": "^4.0.0", + "@whatwg-node/fetch": "^0.10.0", + "chalk": "^4.1.0", + "debug": "^4.3.1", + "dotenv": "^16.0.0", + "graphql-request": "^6.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "jose": "^5.0.0", + "js-yaml": "^4.0.0", + "lodash": "^4.17.20", + "scuid": "^1.1.0", + "tslib": "^2.4.0", + "yaml-ast-parser": "^0.0.43" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/relay-operation-optimizer": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.1.4.tgz", + "integrity": "sha512-cwOD/GEo/R//1uGCP0/urIxsMFoUgzkJVyMt9BDM2HhQhU6rSgH5l6lFukAFTJyPJVdyeOdYm2i0Jj5vYWbHTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ardatan/relay-compiler": "^13.0.1", + "@graphql-tools/utils": "^11.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/relay-operation-optimizer/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema": { + "version": "10.0.33", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.33.tgz", + "integrity": "sha512-O6P3RIftO0jafnSsFAqpjurUuUxJ43s/AdPVLQsBkI6y4Ic/tKm4C1Qm1KKQsCDTOxXPJClh/v3g7k7yLKCFBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/merge": "^9.1.9", + "@graphql-tools/utils": "^11.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/url-loader": { + "version": "8.0.33", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-8.0.33.tgz", + "integrity": "sha512-Fu626qcNHcqAj8uYd7QRarcJn5XZ863kmxsg1sm0fyjyfBJnsvC7ddFt6Hayz5kxVKfsnjxiDfPMXanvsQVBKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-graphql-ws": "^2.0.1", + "@graphql-tools/executor-http": "^1.1.9", + "@graphql-tools/executor-legacy-ws": "^1.1.19", + "@graphql-tools/utils": "^10.9.1", + "@graphql-tools/wrap": "^10.0.16", + "@types/ws": "^8.0.0", + "@whatwg-node/fetch": "^0.10.0", + "@whatwg-node/promise-helpers": "^1.0.0", + "isomorphic-ws": "^5.0.0", + "sync-fetch": "0.6.0-2", + "tslib": "^2.4.0", + "ws": "^8.17.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/url-loader/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/@graphql-tools/url-loader/node_modules/sync-fetch": { + "version": "0.6.0-2", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0-2.tgz", + "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^3.3.2", + "timeout-signal": "^2.0.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@graphql-tools/utils": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.11.0.tgz", + "integrity": "sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/wrap": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-10.1.4.tgz", + "integrity": "sha512-7pyNKqXProRjlSdqOtrbnFRMQAVamCmEREilOXtZujxY6kYit3tvWWSjUrcIOheltTffoRh7EQSjpy2JDCzasg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/delegate": "^10.2.23", + "@graphql-tools/schema": "^10.0.25", + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/promise-helpers": "^1.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/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/@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/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/@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==", + "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==", + "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==", + "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==", + "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==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mjackson/node-fetch-server": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@mjackson/node-fetch-server/-/node-fetch-server-0.2.0.tgz", + "integrity": "sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==", + "license": "MIT" + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@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/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@prisma/client": { + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.19.3.tgz", + "integrity": "sha512-mKq3jQFhjvko5LTJFHGilsuQs+W+T3Gm451NzuTDGQxwCzwXHYnIu2zGkRoW+Exq3Rob7yp2MfzSrdIiZVhrBg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "peerDependencies": { + "prisma": "*", + "typescript": ">=5.1.0" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@prisma/config": { + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.19.3.tgz", + "integrity": "sha512-CBPT44BjlQxEt8kiMEauji2WHTDoVBOKl7UlewXmUgBPnr/oPRZC3psci5chJnYmH0ivEIog2OU9PGWoki3DLQ==", + "license": "Apache-2.0", + "dependencies": { + "c12": "3.1.0", + "deepmerge-ts": "7.1.5", + "effect": "3.21.0", + "empathic": "2.0.0" + } + }, + "node_modules/@prisma/debug": { + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.19.3.tgz", + "integrity": "sha512-ljkJ+SgpXNktLG0Q/n4JGYCkKf0f8oYLyjImS2I8e2q2WCfdRRtWER062ZV/ixaNP2M2VKlWXVJiGzZaUgbKZw==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/engines": { + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.19.3.tgz", + "integrity": "sha512-RSYxtlYFl5pJ8ZePgMv0lZ9IzVCOdTPOegrs2qcbAEFrBI1G33h6wyC9kjQvo0DnYEhEVY0X4LsuFHXLKQk88g==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "6.19.3", + "@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "@prisma/fetch-engine": "6.19.3", + "@prisma/get-platform": "6.19.3" + } + }, + "node_modules/@prisma/engines-version": { + "version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7.tgz", + "integrity": "sha512-03bgb1VD5gvuumNf+7fVGBzfpJPjmqV423l/WxsWk2cNQ42JD0/SsFBPhN6z8iAvdHs07/7ei77SKu7aZfq8bA==", + "license": "Apache-2.0" + }, + "node_modules/@prisma/fetch-engine": { + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.19.3.tgz", + "integrity": "sha512-tKtl/qco9Nt7LU5iKhpultD8O4vMCZcU2CHjNTnRrL1QvSUr5W/GcyFPjNL87GtRrwBc7ubXXD9xy4EvLvt8JA==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "6.19.3", + "@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "@prisma/get-platform": "6.19.3" + } + }, + "node_modules/@prisma/get-platform": { + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.19.3.tgz", + "integrity": "sha512-xFj1VcJ1N3MKooOQAGO0W5tsd0W2QzIvW7DD7c/8H14Zmp4jseeWAITm+w2LLoLrlhoHdPPh0NMZ8mfL6puoHA==", + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "6.19.3" + } + }, + "node_modules/@react-router/dev": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@react-router/dev/-/dev-7.14.2.tgz", + "integrity": "sha512-lU88Ls4iC78RdPOKkER54+hlsHzzS8WSZrf2/cGQumbIN2A5WvO0LDyv72cdJmLWujgZ9rpNoGzmqWINssShGQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.27.7", + "@babel/generator": "^7.27.5", + "@babel/parser": "^7.27.7", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/preset-typescript": "^7.27.1", + "@babel/traverse": "^7.27.7", + "@babel/types": "^7.27.7", + "@react-router/node": "7.14.2", + "@remix-run/node-fetch-server": "^0.13.0", + "arg": "^5.0.1", + "babel-dead-code-elimination": "^1.0.6", + "chokidar": "^4.0.0", + "dedent": "^1.5.3", + "es-module-lexer": "^1.3.1", + "exit-hook": "2.2.1", + "isbot": "^5.1.11", + "jsesc": "3.0.2", + "lodash": "^4.17.21", + "p-map": "^7.0.3", + "pathe": "^1.1.2", + "picocolors": "^1.1.1", + "pkg-types": "^2.3.0", + "prettier": "^3.6.2", + "react-refresh": "^0.14.0", + "semver": "^7.3.7", + "tinyglobby": "^0.2.14", + "valibot": "^1.2.0", + "vite-node": "^3.2.2" + }, + "bin": { + "react-router": "bin.js" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@react-router/serve": "^7.14.2", + "@vitejs/plugin-rsc": "~0.5.21", + "react-router": "^7.14.2", + "react-server-dom-webpack": "^19.2.3", + "typescript": "^5.1.0 || ^6.0.0", + "vite": "^5.1.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "wrangler": "^3.28.2 || ^4.0.0" + }, + "peerDependenciesMeta": { + "@react-router/serve": { + "optional": true + }, + "@vitejs/plugin-rsc": { + "optional": true + }, + "react-server-dom-webpack": { + "optional": true + }, + "typescript": { + "optional": true + }, + "wrangler": { + "optional": true + } + } + }, + "node_modules/@react-router/express": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@react-router/express/-/express-7.14.2.tgz", + "integrity": "sha512-IYs61kHfMWsJk/ju4Ts4hw7wblZecfXuIvqQPKEaz+gwpkJMSWDzhPpgmC16EnmBQkXPqMVpsjvNxA/d9p9ehg==", + "license": "MIT", + "dependencies": { + "@react-router/node": "7.14.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "express": "^4.17.1 || ^5", + "react-router": "7.14.2", + "typescript": "^5.1.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@react-router/fs-routes": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@react-router/fs-routes/-/fs-routes-7.14.2.tgz", + "integrity": "sha512-dqkJZK8jOfH99Qab0TN6V1nWVtdh04PavjQbEgSJd1Gf7SQ+KnHsf8KPvfNIhNUOb9s13hxUTrNHHlgA2MJzIA==", + "license": "MIT", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@react-router/dev": "^7.14.2", + "typescript": "^5.1.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@react-router/node": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@react-router/node/-/node-7.14.2.tgz", + "integrity": "sha512-8zxVfgKOXjk0k8YxSBDTFyNAuVdr+og1wFbQpmJJOxo7ObxfI81EbHenyyxGvFiw77rNFLS9Dqgnv5xZgHZfCw==", + "license": "MIT", + "dependencies": { + "@mjackson/node-fetch-server": "^0.2.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react-router": "7.14.2", + "typescript": "^5.1.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@react-router/serve": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@react-router/serve/-/serve-7.14.2.tgz", + "integrity": "sha512-Rh/Mrd9+Jkf+IOd7beEccCfTDavOQRpkk0TLwLFK60dv0yUIyOTIaKxC7W6I0WMrgAjhUL09JxfMsoz2vtYhTg==", + "license": "MIT", + "dependencies": { + "@mjackson/node-fetch-server": "^0.2.0", + "@react-router/express": "7.14.2", + "@react-router/node": "7.14.2", + "compression": "^1.8.1", + "express": "^4.19.2", + "get-port": "5.1.1", + "morgan": "^1.10.1", + "source-map-support": "^0.5.21" + }, + "bin": { + "react-router-serve": "bin.js" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react-router": "7.14.2" + } + }, + "node_modules/@remix-run/node-fetch-server": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@remix-run/node-fetch-server/-/node-fetch-server-0.13.0.tgz", + "integrity": "sha512-1EsNo0ZpgXu/90AWoRZf/oE3RVTUS80tiTUpt+hv5pjtAkw7icN4WskDwz/KdAw5ARbJLMhZBrO1NqThmy/McA==", + "license": "MIT" + }, + "node_modules/@repeaterjs/repeater": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.6.tgz", + "integrity": "sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", + "cpu": [ + "arm" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", + "cpu": [ + "loong64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", + "cpu": [ + "loong64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", + "cpu": [ + "ppc64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", + "cpu": [ + "riscv64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "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/@shopify/admin-api-client": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@shopify/admin-api-client/-/admin-api-client-1.1.2.tgz", + "integrity": "sha512-sV5gS8x4kj0KLULlOJkoBzm+tu6tn+1PCK9a6inySv5qtzmf/JxDWtLgaW9vRXeXHo/Sl/p3mBWhY3//fKA8iw==", + "license": "MIT", + "dependencies": { + "@shopify/graphql-client": "^1.4.2" + } + }, + "node_modules/@shopify/api-codegen-preset": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@shopify/api-codegen-preset/-/api-codegen-preset-1.2.2.tgz", + "integrity": "sha512-NizmrrrxmoIBfrGv/qvrm1ZytkGsFfeaMj14Gj+IDx6JZAK9A72jsTIyQ7DTTKWMPB6F4d7E20dygA7SEYPVEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/cli": "^5.0.7", + "@graphql-codegen/introspection": "^4.0.3", + "@graphql-codegen/typescript": "^5.0.2", + "@parcel/watcher": "^2.5.1", + "@shopify/graphql-codegen": "^0.1.0", + "graphql": "^16.10.0" + } + }, + "node_modules/@shopify/app-bridge-react": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@shopify/app-bridge-react/-/app-bridge-react-4.2.10.tgz", + "integrity": "sha512-/VhfsxIvWcK7w5rBY97WdSTApLEg+Z2dT9Zc+idAUiAi48R64nYalXDUG8ar5xRoINHFC/w+9WxYViAazpgfew==", + "license": "MIT", + "dependencies": { + "@shopify/app-bridge-types": "0.7.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@shopify/app-bridge-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@shopify/app-bridge-types/-/app-bridge-types-0.7.0.tgz", + "integrity": "sha512-A/DiGIjCBdd45ijMDKLgXrrGG68so3d25Yaeo0lv8ruWeljHGn3sA+UU1o/5BptSPkikDkgPPl8EQDxe4/KShw==", + "license": "ISC", + "dependencies": { + "@standard-schema/spec": "^1.0.0" + } + }, + "node_modules/@shopify/graphql-client": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@shopify/graphql-client/-/graphql-client-1.4.2.tgz", + "integrity": "sha512-C/fEyx6BZmTGeJv0HSsduhfn5ZbkXk0nePkyo0+xXxorP1I+uvx9pobdFxTfiPnOrh+P6QiKzBgIviksnSo4YA==", + "license": "MIT" + }, + "node_modules/@shopify/graphql-codegen": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@shopify/graphql-codegen/-/graphql-codegen-0.1.0.tgz", + "integrity": "sha512-G3sSesLj7Czt/J2Bj+XlQ8u4pkfQEt32hsjoS3UGZlf1eAiVw0aBBddp+NI5HqBAi0gM/f7GLRAhG3kktPhZmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/add": "^5.0.1", + "@graphql-codegen/typescript": "^4.0.2", + "@graphql-codegen/typescript-operations": "^4.1.0", + "type-fest": "^4.5.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@shopify/graphql-codegen/node_modules/@graphql-codegen/schema-ast": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-4.1.0.tgz", + "integrity": "sha512-kZVn0z+th9SvqxfKYgztA6PM7mhnSZaj4fiuBWvMTqA+QqQ9BBed6Pz41KuD/jr0gJtnlr2A4++/0VlpVbCTmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.0.3", + "@graphql-tools/utils": "^10.0.0", + "tslib": "~2.6.0" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@shopify/graphql-codegen/node_modules/@graphql-codegen/typescript": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-4.1.6.tgz", + "integrity": "sha512-vpw3sfwf9A7S+kIUjyFxuvrywGxd4lmwmyYnnDVjVE4kSQ6Td3DpqaPTy8aNQ6O96vFoi/bxbZS2BW49PwSUUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^5.1.0", + "@graphql-codegen/schema-ast": "^4.0.2", + "@graphql-codegen/visitor-plugin-common": "5.8.0", + "auto-bind": "~4.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@shopify/graphql-codegen/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@shopify/polaris-types": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@shopify/polaris-types/-/polaris-types-1.0.6.tgz", + "integrity": "sha512-P0L2EIGAsY6TDiEw6p6rbFe3PwwwjIGoILqSHj7eAuSa6hyzRtHM798oOMyOzT/FdIgJdweUC/PRmE6XR51sdw==", + "dev": true, + "engines": { + "node": ">=22.18.0", + "pnpm": ">=10.2.0" + } + }, + "node_modules/@shopify/shopify-api": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@shopify/shopify-api/-/shopify-api-12.3.0.tgz", + "integrity": "sha512-zeMhaZq57cM/8ef9edoVgZhzJxju4pQhPLBX93FYuPbR29f4K92KLlI4QZ+JV4qFKONhQewgXrSBuA/ILp2ZRw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@shopify/admin-api-client": "^1.1.1", + "@shopify/graphql-client": "^1.4.1", + "@shopify/storefront-api-client": "^1.0.9", + "compare-versions": "^6.1.1", + "isbot": "^5.1.32", + "jose": "^5.9.6", + "lossless-json": "^4.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@shopify/shopify-app-react-router": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@shopify/shopify-app-react-router/-/shopify-app-react-router-1.2.0.tgz", + "integrity": "sha512-8yZzVw5a1LwIwN2HZQzUXKAs3c+39aSWDLT10gxTu+FJY3r5d0ndL7AhbRpwnS+TB8c0tp5JPVlVFXlVM4e+Bg==", + "license": "MIT", + "dependencies": { + "@shopify/admin-api-client": "^1.1.2", + "@shopify/shopify-api": "^13.0.0", + "@shopify/shopify-app-session-storage": "^5.0.0", + "@shopify/storefront-api-client": "^1.0.10", + "compare-versions": "^6.1.1", + "isbot": "^5.1.34" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18", + "react-router": "^7.6.2" + } + }, + "node_modules/@shopify/shopify-app-react-router/node_modules/@shopify/shopify-api": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@shopify/shopify-api/-/shopify-api-13.0.0.tgz", + "integrity": "sha512-tf55PjnIoDY6wjv9gJB1FMYoRmalUCdB8ayPLlPwmDUzCRCKfbQdKrBEX1jnKRmSm7EvtjkUSqbI60v0/jAk9Q==", + "license": "MIT", + "dependencies": { + "@shopify/admin-api-client": "^1.1.2", + "@shopify/graphql-client": "^1.4.2", + "@shopify/storefront-api-client": "^1.0.10", + "compare-versions": "^6.1.1", + "isbot": "^5.1.34", + "jose": "^5.9.6", + "lossless-json": "^4.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@shopify/shopify-app-react-router/node_modules/@shopify/shopify-app-session-storage": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@shopify/shopify-app-session-storage/-/shopify-app-session-storage-5.0.0.tgz", + "integrity": "sha512-hFUeDGmA4NJmnsq0peYxYIhCzPtXzP9dKjoz04VwWq0XTFzmjy+6yLWY9LFNI4gSiK3Mws3FSLKaatd8TqIj2g==", + "license": "MIT", + "peerDependencies": { + "@shopify/shopify-api": "^13.0.0" + } + }, + "node_modules/@shopify/shopify-app-session-storage": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@shopify/shopify-app-session-storage/-/shopify-app-session-storage-4.0.5.tgz", + "integrity": "sha512-ZL6tV8hccOO1nTLmj5rbzl++SZhgokQ73CY4v30MRTem/IhbneQag3/tUg9rPjAaDrROEyokGeJTgOq2gD+1hg==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "@shopify/shopify-api": "^12.0.0" + } + }, + "node_modules/@shopify/shopify-app-session-storage-prisma": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@shopify/shopify-app-session-storage-prisma/-/shopify-app-session-storage-prisma-8.0.1.tgz", + "integrity": "sha512-SAV8BXhE4kDFB46nx+L+sPLILwjcqMoMsiqGF+I0DVULbZArkSxXEOwW0r4KnVrzjNgRPgdP4HSBSzGUBcsYsQ==", + "license": "MIT", + "peerDependencies": { + "@prisma/client": "^6.19.0", + "@shopify/shopify-api": "^12.0.0", + "@shopify/shopify-app-session-storage": "^4.0.0", + "prisma": "^6.19.0" + } + }, + "node_modules/@shopify/storefront-api-client": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@shopify/storefront-api-client/-/storefront-api-client-1.0.10.tgz", + "integrity": "sha512-A0ItFW58L5+y/jnnJDEsmt2YcQSt2BG+pNoQOYRpPBJaOLpTj7A13q1QVrE5XYVGZCA6ZQ6FqAtgosHHrkut0Q==", + "license": "MIT", + "dependencies": { + "@shopify/graphql-client": "^1.4.2" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "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": "22.19.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", + "integrity": "sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", + "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@whatwg-node/disposablestack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz", + "integrity": "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.10.13", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.10.13.tgz", + "integrity": "sha512-b4PhJ+zYj4357zwk4TTuF2nEe0vVtOrwdsrNo5hL+u1ojXNhh1FgJ6pg1jzDlwlT4oBdzfSwaBwMCtFCsIWg8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/node-fetch": "^0.8.3", + "urlpattern-polyfill": "^10.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.8.5.tgz", + "integrity": "sha512-4xzCl/zphPqlp9tASLVeUhB5+WJHbuWGYpfoC2q1qh5dw0AqZBW7L27V5roxYWijPxj4sspRAAoOH3d2ztaHUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@fastify/busboy": "^3.1.1", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/promise-helpers": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz", + "integrity": "sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "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-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "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-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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/auto-bind": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", + "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.11.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.3.tgz", + "integrity": "sha512-zBQouZixDTbo3jMGqHKyePxYxr1e5W8UdTmBQ7sNtaA9M2bE32daxxPLS/jojhKOHxQ7LWwPjfiwf/fhaJWzlg==", + "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/babel-dead-code-elimination": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/babel-dead-code-elimination/-/babel-dead-code-elimination-1.0.12.tgz", + "integrity": "sha512-GERT7L2TiYcYDtYk1IpD+ASAYXjKbLTDPhBtYj7X1NuRMDTMtAx9kyBenub1Ev41lo91OHCKdmP+egTDmfQ7Ig==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/baseline-browser-mapping": { + "version": "2.10.23", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.23.tgz", + "integrity": "sha512-xwVXGqevyKPsiuQdLj+dZMVjidjJV508TBqexND5HrF89cGdCYCJFB3qhcxRHSeMctdCfbR1jrxBajhDy7o29g==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/c12": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.1.0.tgz", + "integrity": "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.3", + "confbox": "^0.2.2", + "defu": "^6.1.4", + "dotenv": "^16.6.1", + "exsolve": "^1.0.7", + "giget": "^2.0.0", + "jiti": "^2.4.2", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^1.0.0", + "pkg-types": "^2.2.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.5" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/c12/node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/c12/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", + "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/capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "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/change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/change-case-all": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/change-case-all/-/change-case-all-1.0.15.tgz", + "integrity": "sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "change-case": "^4.1.2", + "is-lower-case": "^2.0.2", + "is-upper-case": "^2.0.2", + "lower-case": "^2.0.2", + "lower-case-first": "^2.0.2", + "sponge-case": "^1.0.1", + "swap-case": "^2.0.2", + "title-case": "^3.0.3", + "upper-case": "^2.0.2", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/chardet": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "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/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/compare-versions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "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/confbox": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz", + "integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==", + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-fetch": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, + "node_modules/cross-inspect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.1.tgz", + "integrity": "sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "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/dataloader": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.3.tgz", + "integrity": "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "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/deepmerge-ts": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", + "integrity": "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/effect": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/effect/-/effect-3.21.0.tgz", + "integrity": "sha512-PPN80qRokCd1f015IANNhrwOnLO7GrrMQfk4/lnZRE/8j7UPWrNNjPV0uBrZutI/nHzernbW+J0hdqQysHiSnQ==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "fast-check": "^3.23.1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.344", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", + "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", + "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/empathic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz", + "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-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-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", + "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", + "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-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "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": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "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/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/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-import/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/eslint-plugin-import/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/eslint-plugin-import/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/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-jsx-a11y/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y/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/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": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-react/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/eslint-plugin-react/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/eslint-plugin-react/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/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/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/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.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/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/exit-hook": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", + "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/exsolve": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", + "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==", + "license": "MIT" + }, + "node_modules/fast-check": { + "version": "3.23.2", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz", + "integrity": "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT", + "dependencies": { + "pure-rand": "^6.1.0" + }, + "engines": { + "node": ">=8.0.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.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "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.8" + }, + "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/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.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/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "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": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/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/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-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/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.6.0", + "pathe": "^2.0.3" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/giget/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/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/glob/node_modules/brace-expansion": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/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/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "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/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "license": "MIT" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/graphql": { + "version": "16.13.2", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.13.2.tgz", + "integrity": "sha512-5bJ+nf/UCpAjHM8i06fl7eLyVC9iuNAjm9qzkiu2ZGhM0VscSvS6WDPfAwkdkBuoXGM9FJSbKl6wylMwP9Ktig==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-config": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.6.tgz", + "integrity": "sha512-fCkYnm4Kdq3un0YIM4BCZHVR5xl0UeLP6syxxO7KAstdY7QVyVvTHP0kRPDYEP1v08uwtJVgis5sj3IOTLOniQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/graphql-file-loader": "^8.0.0", + "@graphql-tools/json-file-loader": "^8.0.0", + "@graphql-tools/load": "^8.1.0", + "@graphql-tools/merge": "^9.0.0", + "@graphql-tools/url-loader": "^9.0.0", + "@graphql-tools/utils": "^11.0.0", + "cosmiconfig": "^8.1.0", + "jiti": "^2.0.0", + "minimatch": "^10.0.0", + "string-env-interpolation": "^1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 16.0.0" + }, + "peerDependencies": { + "cosmiconfig-toml-loader": "^1.0.0", + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + }, + "peerDependenciesMeta": { + "cosmiconfig-toml-loader": { + "optional": true + } + } + }, + "node_modules/graphql-config/node_modules/@graphql-hive/signal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-2.0.0.tgz", + "integrity": "sha512-Pz8wB3K0iU6ae9S1fWfsmJX24CcGeTo6hE7T44ucmV/ALKRj+bxClmqrYcDT7v3f0d12Rh4FAXBb6gon+WkDpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/batch-execute": { + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-10.0.8.tgz", + "integrity": "sha512-Kobt37qrVTFhX4HUK5/vPgMXFw/5f97AzmAlfmDBSRh/GnoAmLKCb48FrEI3gdeIwZB2fEhVHJyDqsojldnLQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^11.0.0", + "@whatwg-node/promise-helpers": "^1.3.2", + "dataloader": "^2.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/delegate": { + "version": "12.0.14", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-12.0.14.tgz", + "integrity": "sha512-/xCDM8zlCk1Lccww9asOIpxna9IFpIlol4yGsBD9Y2+3/Zu5k4/HzDC8LKJtw5MxdG+uJN1l9nRepr4GeBC4kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/batch-execute": "^10.0.8", + "@graphql-tools/executor": "^1.4.13", + "@graphql-tools/schema": "^10.0.29", + "@graphql-tools/utils": "^11.0.0", + "@repeaterjs/repeater": "^3.0.6", + "@whatwg-node/promise-helpers": "^1.3.2", + "dataloader": "^2.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-common": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-1.0.6.tgz", + "integrity": "sha512-23/K5C+LSlHDI0mj2SwCJ33RcELCcyDUgABm1Z8St7u/4Z5+95i925H/NAjUyggRjiaY8vYtNiMOPE49aPX1sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.4.0", + "@graphql-tools/utils": "^11.0.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-graphql-ws": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-3.1.5.tgz", + "integrity": "sha512-WXRsfwu9AkrORD9nShrd61OwwxeQ5+eXYcABRR3XPONFIS8pWQfDJGGqxql9/227o/s0DV5SIfkBURb5Knzv+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-common": "^1.0.6", + "@graphql-tools/utils": "^11.0.0", + "@whatwg-node/disposablestack": "^0.0.6", + "graphql-ws": "^6.0.6", + "isows": "^1.0.7", + "tslib": "^2.8.1", + "ws": "^8.18.3" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-http": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-3.2.1.tgz", + "integrity": "sha512-53i0TYO0cznIlZDJcnq4gQ6SOZ8efGgCDV33MYh6oqEapcp36tCMEVnVGVxcX5qRRyNHkqTY6hkA+/AyK9kicQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-hive/signal": "^2.0.0", + "@graphql-tools/executor-common": "^1.0.6", + "@graphql-tools/utils": "^11.0.0", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.13", + "@whatwg-node/promise-helpers": "^1.3.2", + "meros": "^1.3.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/url-loader": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-9.1.2.tgz", + "integrity": "sha512-pVSiPrfWQKb3jq23Pl7EjbB2uv3tgZLnWo/axkmg4itAEZ5s/vV/jKa8P1HZzUnSVUTR+8tcEZVeNsUbzFCbkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-graphql-ws": "^3.1.4", + "@graphql-tools/executor-http": "^3.2.1", + "@graphql-tools/executor-legacy-ws": "^1.1.28", + "@graphql-tools/utils": "^11.1.0", + "@graphql-tools/wrap": "^11.1.1", + "@types/ws": "^8.0.0", + "@whatwg-node/fetch": "^0.10.13", + "@whatwg-node/promise-helpers": "^1.0.0", + "isomorphic-ws": "^5.0.0", + "sync-fetch": "0.6.0", + "tslib": "^2.4.0", + "ws": "^8.20.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/utils": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.1.0.tgz", + "integrity": "sha512-PtFVG4r8Z2LEBSaPYQMusBiB3o6kjLVJyjCLbnWem/SpSuM21v6LTmgpkXfYU1qpBV2UGsFyuEnSJInl8fR1Ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/wrap": { + "version": "11.1.14", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-11.1.14.tgz", + "integrity": "sha512-ebSVT7apxr+88q3Wy0i4AyRmJ42I0SuMqjPIn1fqW14yCTQRZG8YLuIALG1gKR936+GkfMLOrADh6egJvdlN6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/delegate": "^12.0.14", + "@graphql-tools/schema": "^10.0.29", + "@graphql-tools/utils": "^11.0.0", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/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/graphql-config/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/graphql-config/node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/graphql-config/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/graphql-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-6.1.0.tgz", + "integrity": "sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.2.0", + "cross-fetch": "^3.1.5" + }, + "peerDependencies": { + "graphql": "14 - 16" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/graphql-ws": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.8.tgz", + "integrity": "sha512-m3EOaNsUBXwAnkBWbzPfe0Nq8pXUfxsWnolC54sru3FzHvhTZL0Ouf/BoQsaGAXqM+YPerXOJ47BUnmgmoupCw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "@fastify/websocket": "^10 || ^11", + "crossws": "~0.3", + "graphql": "^15.10.1 || ^16", + "ws": "^8" + }, + "peerDependenciesMeta": { + "@fastify/websocket": { + "optional": true + }, + "crossws": { + "optional": true + }, + "ws": { + "optional": true + } + } + }, + "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==", + "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.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/header-case": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", + "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "capital-case": "^1.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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": "BSD-3-Clause" + }, + "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/immutable": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", + "dev": true, + "license": "MIT" + }, + "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/import-fresh/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/import-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", + "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.2" + }, + "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/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "8.2.7", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz", + "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/external-editor": "^1.0.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "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/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-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-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.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-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-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-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-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-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-2.0.2.tgz", + "integrity": "sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-2.0.2.tgz", + "integrity": "sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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/isbot": { + "version": "5.1.39", + "resolved": "https://registry.npmjs.org/isbot/-/isbot-5.1.39.tgz", + "integrity": "sha512-obH0yYahGXdzNxo+djmHhBYThUKDkz565cxkIlt2L9hXfv1NlaLKoDBHo6KxXsYrIXx2RK3x5vY36CfZcobxEw==", + "license": "Unlicense", + "engines": { + "node": ">=18" + } + }, + "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/isomorphic-ws": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", + "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isows": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.7.tgz", + "integrity": "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "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/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "devOptional": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jose": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz", + "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "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-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/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/json-to-pretty-yaml": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz", + "integrity": "sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "remedial": "^1.0.7", + "remove-trailing-spaces": "^1.0.6" + }, + "engines": { + "node": ">= 0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "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/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", + "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.5", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/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": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "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/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lossless-json": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-4.3.0.tgz", + "integrity": "sha512-ToxOC+SsduRmdSuoLZLYAr5zy1Qu7l5XhmPWM3zefCZ5IcrzW/h108qbJUKfOlDlhvhjUK84+8PSVX0kxnit0g==", + "license": "MIT" + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lower-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-2.0.2.tgz", + "integrity": "sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/meros": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/meros/-/meros-1.3.2.tgz", + "integrity": "sha512-Q3mobPbvEx7XbwhnC1J1r60+5H6EZyNccdzSz0eGexJRwouUtTZxPVRGdqKtxlpD84ScK4+tIGldkqDtCKdI0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=13" + }, + "peerDependencies": { + "@types/node": ">=13" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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/micromatch/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/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/morgan": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.1.tgz", + "integrity": "sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A==", + "license": "MIT", + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.1.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/morgan/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/morgan/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/morgan/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "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/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "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-exports-info/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/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nypm": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.6.tgz", + "integrity": "sha512-vRyr0r4cbBapw07Xw8xrj9Teq3o7MUD35rSaTcanDbW+aK2XHDgJFiU6ZTj2GBw7Q12ysdsyFss+Vdz4hQ0Y6Q==", + "license": "MIT", + "dependencies": { + "citty": "^0.2.2", + "pathe": "^2.0.3", + "tinyexec": "^1.1.1" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/nypm/node_modules/citty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", + "license": "MIT" + }, + "node_modules/nypm/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "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==", + "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/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/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/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "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/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "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": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-types": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.1.tgz", + "integrity": "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==", + "license": "MIT", + "dependencies": { + "confbox": "^0.2.4", + "exsolve": "^1.0.8", + "pathe": "^2.0.3" + } + }, + "node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "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.5.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", + "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prisma": { + "version": "6.19.3", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-6.19.3.tgz", + "integrity": "sha512-++ZJ0ijLrDJF6hNB4t4uxg2br3fC4H9Yc9tcbjr2fcNFP3rh/SBNrAgjhsqBU4Ght8JPrVofG/ZkXfnSfnYsFg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/config": "6.19.3", + "@prisma/engines": "6.19.3" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": ">=18.18" + }, + "peerDependencies": { + "typescript": ">=5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "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/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.14.2.tgz", + "integrity": "sha512-yCqNne6I8IB6rVCH7XUvlBK7/QKyqypBFGv+8dj4QBFJiiRX+FG7/nkdAvGElyvVZ/HQP5N19wzteuTARXi5Gw==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router/node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "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/remedial": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/remedial/-/remedial-1.0.8.tgz", + "integrity": "sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "engines": { + "node": "*" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "license": "ISC" + }, + "node_modules/remove-trailing-spaces": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/remove-trailing-spaces/-/remove-trailing-spaces-1.0.9.tgz", + "integrity": "sha512-xzG7w5IRijvIkHIjDk65URsJJ7k4J95wmcArY5PRcmjldIOl7oTvG8+X2Ag690R7SfwiOcHrWZKVc1Pp5WIOzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "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": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-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/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.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/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "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-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/scuid": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/scuid/-/scuid-1.1.0.tgz", + "integrity": "sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "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/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sponge-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sponge-case/-/sponge-case-1.0.1.tgz", + "integrity": "sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-env-interpolation": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", + "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string.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.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "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-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "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/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/swap-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz", + "integrity": "sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/sync-fetch": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0.tgz", + "integrity": "sha512-IELLEvzHuCfc1uTsshPK58ViSdNqXxlml1U+fmwJIKLYKOr/rAtBrorE2RYm5IHaMpDNlmC0fr1LAvdXvyheEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^3.3.2", + "timeout-signal": "^2.0.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/sync-fetch/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/timeout-signal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-signal/-/timeout-signal-2.0.0.tgz", + "integrity": "sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/tinyexec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "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/title-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-3.0.3.tgz", + "integrity": "sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-log": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/ts-log/-/ts-log-2.2.7.tgz", + "integrity": "sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "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==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "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/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "normalize-path": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "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/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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/urlpattern-polyfill": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", + "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/valibot": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/valibot/-/valibot-1.3.1.tgz", + "integrity": "sha512-sfdRir/QFM0JaF22hqTroPc5xy4DimuGQVKFrzF1YfGwaS1nJot3Y8VqMdLO2Lg27fMzat2yD3pY5PbAYO39Gg==", + "license": "MIT", + "peerDependencies": { + "typescript": ">=5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz", + "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-node/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/vite-tsconfig-paths": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz", + "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.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.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "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/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "devOptional": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0a9916a --- /dev/null +++ b/package.json @@ -0,0 +1,72 @@ +{ + "name": "linumiq-invoice", + "private": true, + "scripts": { + "build": "react-router build", + "dev": "shopify app dev", + "config:link": "shopify app config link", + "generate": "shopify app generate", + "deploy": "shopify app deploy", + "config:use": "shopify app config use", + "env": "shopify app env", + "start": "react-router-serve ./build/server/index.js", + "docker-start": "npm run setup && npm run start", + "setup": "prisma generate && prisma migrate deploy", + "lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .", + "shopify": "shopify", + "prisma": "prisma", + "graphql-codegen": "graphql-codegen", + "vite": "vite", + "typecheck": "react-router typegen && tsc --noEmit" + }, + "type": "module", + "engines": { + "node": ">=20.19 <22 || >=22.12" + }, + "dependencies": { + "@prisma/client": "^6.16.3", + "@react-router/dev": "^7.12.0", + "@react-router/fs-routes": "^7.12.0", + "@react-router/node": "^7.12.0", + "@react-router/serve": "^7.12.0", + "@shopify/app-bridge-react": "^4.2.4", + "@shopify/shopify-app-react-router": "^1.1.0", + "@shopify/shopify-app-session-storage-prisma": "^8.0.0", + "isbot": "^5.1.31", + "prisma": "^6.16.3", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router": "^7.12.0", + "vite-tsconfig-paths": "^5.1.4" + }, + "devDependencies": { + "@shopify/api-codegen-preset": "^1.2.0", + "@shopify/polaris-types": "^1.0.1", + "@types/eslint": "^9.6.1", + "@types/node": "^22.18.8", + "@types/react": "^18.3.25", + "@types/react-dom": "^18.3.7", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "eslint": "^8.57.1", + "eslint-import-resolver-typescript": "^3.10.1", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^4.6.2", + "graphql-config": "^5.1.1", + "prettier": "^3.6.2", + "typescript": "^5.9.3", + "vite": "^6.3.6" + }, + "workspaces": [ + "extensions/*" + ], + "trustedDependencies": [ + "@shopify/plugin-cloudflare" + ], + "overrides": { + "p-map": "^4.0.0" + }, + "author": "gerhard" +} \ No newline at end of file diff --git a/prisma/migrations/20240530213853_create_session_table/migration.sql b/prisma/migrations/20240530213853_create_session_table/migration.sql new file mode 100644 index 0000000..3f8c675 --- /dev/null +++ b/prisma/migrations/20240530213853_create_session_table/migration.sql @@ -0,0 +1,20 @@ +-- CreateTable +CREATE TABLE "Session" ( + "id" TEXT NOT NULL PRIMARY KEY, + "shop" TEXT NOT NULL, + "state" TEXT NOT NULL, + "isOnline" BOOLEAN NOT NULL DEFAULT false, + "scope" TEXT, + "expires" DATETIME, + "accessToken" TEXT NOT NULL, + "userId" BIGINT, + "firstName" TEXT, + "lastName" TEXT, + "email" TEXT, + "accountOwner" BOOLEAN NOT NULL DEFAULT false, + "locale" TEXT, + "collaborator" BOOLEAN DEFAULT false, + "emailVerified" BOOLEAN DEFAULT false, + "refreshToken" TEXT, + "refreshTokenExpires" DATETIME +); diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..662cb16 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,34 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" +} + +// Note that some adapters may set a maximum length for the String type by default, please ensure your strings are long +// enough when changing adapters. +// See https://www.prisma.io/docs/orm/reference/prisma-schema-reference#string for more information +datasource db { + provider = "sqlite" + url = "file:dev.sqlite" +} + +model Session { + id String @id + shop String + state String + isOnline Boolean @default(false) + scope String? + expires DateTime? + accessToken String + userId BigInt? + firstName String? + lastName String? + email String? + accountOwner Boolean @default(false) + locale String? + collaborator Boolean? @default(false) + emailVerified Boolean? @default(false) + refreshToken String? + refreshTokenExpires DateTime? +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8830cf6821b354114848e6354889b8ecf6d2bc61 GIT binary patch literal 16958 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 EKbET!0{{R3 literal 0 HcmV?d00001 diff --git a/shopify.app.toml b/shopify.app.toml new file mode 100644 index 0000000..7ec9c46 --- /dev/null +++ b/shopify.app.toml @@ -0,0 +1,52 @@ +# Learn more about configuring your app at https://shopify.dev/docs/apps/tools/cli/configuration + +client_id = "fbc263e6cc28e8de031878d2a0f17444" +application_url = "https://example.com" +embedded = true +name = "linumiq-invoice" + +[access_scopes] +# Learn more at https://shopify.dev/docs/apps/tools/cli/configuration#access_scopes +scopes = "write_products,write_metaobjects,write_metaobject_definitions" + +[product.metafields.app.demo_info] +type = "single_line_text_field" +name = "Demo Source Info" +description = "Tracks products created by the Shopify app template for development" + + [product.metafields.app.demo_info.access] + admin = "merchant_read_write" + +[metaobjects.app.example] +name = "Example" +description = "An example metaobject definition created by this template" + + [metaobjects.app.example.access] + admin = "merchant_read_write" + +[metaobjects.app.example.fields.title] +name = "Title" +type = "single_line_text_field" +required = true + +[metaobjects.app.example.fields.description] +name = "Description" +type = "multi_line_text_field" + +[webhooks] +api_version = "2026-07" + + [[webhooks.subscriptions]] + uri = "/webhooks/app/uninstalled" + topics = [ "app/uninstalled" ] + + [[webhooks.subscriptions]] + uri = "/webhooks/app/scopes_update" + topics = [ "app/scopes_update" ] + +[auth] +redirect_urls = [ "https://example.com/api/auth" ] + +[build] +include_config_on_deploy = true +automatically_update_urls_on_dev = true diff --git a/shopify.web.toml b/shopify.web.toml new file mode 100644 index 0000000..b0a0f29 --- /dev/null +++ b/shopify.web.toml @@ -0,0 +1,7 @@ +name = "React Router" +roles = ["frontend", "backend"] +webhooks_path = "/webhooks/app/uninstalled" + +[commands] +predev = "npx prisma generate" +dev = "npx prisma migrate deploy && npm exec react-router dev" diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..d97fa29 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + "include": ["env.d.ts", "**/*.ts", "**/*.tsx", ".react-router/types/**/*"], + "compilerOptions": { + "lib": ["DOM", "DOM.Iterable", "ES2022"], + "strict": true, + "skipLibCheck": true, + "isolatedModules": true, + "allowSyntheticDefaultImports": true, + "removeComments": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "allowJs": true, + "resolveJsonModule": true, + "jsx": "react-jsx", + "module": "ESNext", + "moduleResolution": "Bundler", + "target": "ES2022", + "baseUrl": ".", + "types": ["@react-router/node", "vite/client", "@shopify/polaris-types"], + "rootDirs": [".", "./.react-router/types"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..a468492 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,61 @@ +import { reactRouter } from "@react-router/dev/vite"; +import { defineConfig, type UserConfig } from "vite"; +import tsconfigPaths from "vite-tsconfig-paths"; + +// Related: https://github.com/remix-run/remix/issues/2835#issuecomment-1144102176 +// Replace the HOST env var with SHOPIFY_APP_URL so that it doesn't break the Vite server. +// The CLI will eventually stop passing in HOST, +// so we can remove this workaround after the next major release. +if ( + process.env.HOST && + (!process.env.SHOPIFY_APP_URL || + process.env.SHOPIFY_APP_URL === process.env.HOST) +) { + process.env.SHOPIFY_APP_URL = process.env.HOST; + delete process.env.HOST; +} + +const host = new URL(process.env.SHOPIFY_APP_URL || "http://localhost") + .hostname; + +let hmrConfig; +if (host === "localhost") { + hmrConfig = { + protocol: "ws", + host: "localhost", + port: 64999, + clientPort: 64999, + }; +} else { + hmrConfig = { + protocol: "wss", + host: host, + port: parseInt(process.env.FRONTEND_PORT!) || 8002, + clientPort: 443, + }; +} + +export default defineConfig({ + server: { + allowedHosts: [host], + cors: { + preflightContinue: true, + }, + port: Number(process.env.PORT || 3000), + hmr: hmrConfig, + fs: { + // See https://vitejs.dev/config/server-options.html#server-fs-allow for more information + allow: ["app", "node_modules"], + }, + }, + plugins: [ + reactRouter(), + tsconfigPaths(), + ], + build: { + assetsInlineLimit: 0, + }, + optimizeDeps: { + include: ["@shopify/app-bridge-react"], + }, +}) satisfies UserConfig;