From 8158a25b8fb18483f35afb3bb6640c93ef6c21e6 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 28 May 2024 22:31:36 -0400 Subject: [PATCH 01/18] docs: add jsr to docs --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d91b54ef..12fe5727 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # TypeScript OAuth2.0 Server +[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) +[![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts-oauth2-server/releases/latest) [![GitHub Workflow Status]( https://img.shields.io/github/actions/workflow/status/jasonraimondi/ts-oauth2-server/build-and-test.yml?branch=main&style=flat-square)](https://github.com/jasonraimondi/ts-oauth2-server) [![Test Coverage](https://img.shields.io/codeclimate/coverage/jasonraimondi/typescript-oauth2-server?style=flat-square)](https://codeclimate.com/github/jasonraimondi/typescript-oauth2-server/test_coverage) -[![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts-oauth2-server/releases/latest) [![NPM Downloads](https://img.shields.io/npm/dt/@jmondi/oauth2-server?label=npm%20downloads&style=flat-square)](https://www.npmjs.com/package/@jmondi/oauth2-server) `@jmondi/oauth2-server` is a standards compliant implementation of an OAuth 2.0 authorization server for Node, written in TypeScript. @@ -45,6 +46,14 @@ Save some eye strain, **use the [documentation site](https://tsoauth2server.com/ pnpm add @jmondi/oauth2-server ``` +We're now on [JSR: The JavaScript Registry](https://jsr.io/@jmondi/oauth2-server) + +```bash +npx jsr add @jmondi/oauth2-server +``` + +### Security + | Version | Latest Version | Security Updates | |-----------------|----------------|------------------| | [3.x][version3] | :tada: | :tada: | From 097ad1323b8527675851d57b867e6df8293d7aec Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Sun, 23 Jun 2024 19:04:08 -0400 Subject: [PATCH 02/18] feat: refactor docs site to docusaurus --- .idea/vcs.xml | 1 + docs/.gitignore | 20 + docs/.prettierignore | 3 + docs/.prettierrc | 7 + docs/.vitepress/config.ts | 88 - docs/.vitepress/theme/custom.css | 18 - docs/.vitepress/theme/index.js | 5 - docs/README.md | 41 + docs/adapters/index.md | 69 - docs/babel.config.js | 3 + docs/docs/adapters/express.md | 29 + docs/docs/adapters/fastify.md | 31 + docs/docs/adapters/index.md | 7 + docs/docs/adapters/vanilla.md | 29 + .../index.md => docs/configuration.md} | 12 +- docs/docs/getting_started/endpoints.mdx | 94 + .../getting_started/entities.md} | 17 +- docs/docs/getting_started/index.mdx | 38 + docs/docs/getting_started/install.mdx | 20 + .../getting_started/repositories.md} | 49 +- .../grants/authorization_code.mdx} | 113 +- .../grants/client_credentials.mdx} | 65 +- .../grants/custom_grant.mdx} | 6 +- .../implicit.md => docs/grants/implicit.mdx} | 8 +- docs/docs/grants/index.md | 68 + docs/docs/grants/password.mdx | 87 + docs/docs/grants/refresh_token.mdx | 110 + .../grants/token_exchange.mdx} | 51 +- docs/{ => docs/misc}/access_tokens/index.md | 10 +- docs/{ => docs/misc}/glossary/index.md | 4 +- docs/docs/misc/index.md | 1 + docs/{ => docs/misc}/utils/index.md | 10 +- docs/{ => docs}/sources/index.md | 3 +- docs/{migration => docs}/v2_to_v3.md | 22 +- docs/docusaurus.config.ts | 92 + docs/grants/index.md | 65 - docs/grants/password.md | 73 - docs/grants/refresh_token.md | 98 - docs/package.json | 52 + docs/pnpm-lock.yaml | 10691 ++++++++++++++++ docs/sidebars.ts | 31 + docs/src/components/Card/index.tsx | 6 + docs/src/components/Card/styles.modules.css | 3 + .../examples/entites/auth_code_entites.ts | 0 .../examples/entites/client_entites.ts | 0 .../src/components/HomepageFeatures/index.tsx | 117 + .../HomepageFeatures/styles.module.css | 11 + docs/src/components/homepage.tsx | 41 + docs/src/css/custom.css | 28 + docs/src/pages/index.module.css | 43 + docs/src/pages/index.tsx | 63 + docs/{index.md => src/pages/markdown-page.md} | 6 +- docs/static/.nojekyll | 0 docs/static/img/docusaurus-social-card.jpg | Bin 0 -> 55746 bytes docs/static/img/docusaurus.png | Bin 0 -> 5142 bytes docs/static/img/favicon.ico | Bin 0 -> 3626 bytes docs/static/img/logo.svg | 1 + .../static/img/undraw_docusaurus_mountain.svg | 171 + docs/static/img/undraw_docusaurus_react.svg | 170 + docs/static/img/undraw_docusaurus_tree.svg | 40 + docs/tailwind-config.cjs | 15 + docs/tailwind.config.js | 29 + docs/tsconfig.json | 7 + package.json | 6 +- pnpm-lock.yaml | 647 +- 65 files changed, 12424 insertions(+), 1221 deletions(-) create mode 100644 docs/.gitignore create mode 100644 docs/.prettierignore create mode 100644 docs/.prettierrc delete mode 100644 docs/.vitepress/config.ts delete mode 100644 docs/.vitepress/theme/custom.css delete mode 100644 docs/.vitepress/theme/index.js create mode 100644 docs/README.md delete mode 100644 docs/adapters/index.md create mode 100644 docs/babel.config.js create mode 100644 docs/docs/adapters/express.md create mode 100644 docs/docs/adapters/fastify.md create mode 100644 docs/docs/adapters/index.md create mode 100644 docs/docs/adapters/vanilla.md rename docs/{configuration/index.md => docs/configuration.md} (94%) create mode 100644 docs/docs/getting_started/endpoints.mdx rename docs/{entities/index.md => docs/getting_started/entities.md} (87%) create mode 100644 docs/docs/getting_started/index.mdx create mode 100644 docs/docs/getting_started/install.mdx rename docs/{repositories/index.md => docs/getting_started/repositories.md} (92%) rename docs/{grants/authorization_code.md => docs/grants/authorization_code.mdx} (84%) rename docs/{grants/client_credentials.md => docs/grants/client_credentials.mdx} (62%) rename docs/{grants/custom_grant.md => docs/grants/custom_grant.mdx} (96%) rename docs/{grants/implicit.md => docs/grants/implicit.mdx} (67%) create mode 100644 docs/docs/grants/index.md create mode 100644 docs/docs/grants/password.mdx create mode 100644 docs/docs/grants/refresh_token.mdx rename docs/{grants/token_exchange.md => docs/grants/token_exchange.mdx} (79%) rename docs/{ => docs/misc}/access_tokens/index.md (86%) rename docs/{ => docs/misc}/glossary/index.md (73%) create mode 100644 docs/docs/misc/index.md rename docs/{ => docs/misc}/utils/index.md (81%) rename docs/{ => docs}/sources/index.md (94%) rename docs/{migration => docs}/v2_to_v3.md (83%) create mode 100644 docs/docusaurus.config.ts delete mode 100644 docs/grants/index.md delete mode 100644 docs/grants/password.md delete mode 100644 docs/grants/refresh_token.md create mode 100644 docs/package.json create mode 100644 docs/pnpm-lock.yaml create mode 100644 docs/sidebars.ts create mode 100644 docs/src/components/Card/index.tsx create mode 100644 docs/src/components/Card/styles.modules.css create mode 100644 docs/src/components/HomepageFeatures/examples/entites/auth_code_entites.ts create mode 100644 docs/src/components/HomepageFeatures/examples/entites/client_entites.ts create mode 100644 docs/src/components/HomepageFeatures/index.tsx create mode 100644 docs/src/components/HomepageFeatures/styles.module.css create mode 100644 docs/src/components/homepage.tsx create mode 100644 docs/src/css/custom.css create mode 100644 docs/src/pages/index.module.css create mode 100644 docs/src/pages/index.tsx rename docs/{index.md => src/pages/markdown-page.md} (95%) create mode 100644 docs/static/.nojekyll create mode 100644 docs/static/img/docusaurus-social-card.jpg create mode 100644 docs/static/img/docusaurus.png create mode 100644 docs/static/img/favicon.ico create mode 100644 docs/static/img/logo.svg create mode 100644 docs/static/img/undraw_docusaurus_mountain.svg create mode 100644 docs/static/img/undraw_docusaurus_react.svg create mode 100644 docs/static/img/undraw_docusaurus_tree.svg create mode 100644 docs/tailwind-config.cjs create mode 100644 docs/tailwind.config.js create mode 100644 docs/tsconfig.json diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1ddf..c8e2b47f 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..b2d6de30 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,20 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/docs/.prettierignore b/docs/.prettierignore new file mode 100644 index 00000000..bce4101c --- /dev/null +++ b/docs/.prettierignore @@ -0,0 +1,3 @@ +.docusaurus/ + +pnpm-lock.yaml diff --git a/docs/.prettierrc b/docs/.prettierrc new file mode 100644 index 00000000..03903dc8 --- /dev/null +++ b/docs/.prettierrc @@ -0,0 +1,7 @@ +arrowParens: avoid +bracketSpacing: true +printWidth: 100 +trailingComma: all +tabWidth: 2 +semi: true +singleQuote: false diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts deleted file mode 100644 index 3e0e7596..00000000 --- a/docs/.vitepress/config.ts +++ /dev/null @@ -1,88 +0,0 @@ -import { defineConfig } from "vitepress"; - -export default defineConfig({ - title: "@jmondi/oauth2-server", - description: - "A standards compliant implementation of an OAuth 2.0 authorization server for Node that utilizes JWT and Proof Key for Code Exchange (PKCE), written in TypeScript. ", - base: "/", - markdown: { - toc: { - listClass: "table-of-contents", - }, - }, - head: [ - [ - "script", - { - "data-domain": "tsoauth2server.com", - src: "https://plausible.io/js/script.js", - defer: "true", - }, - ], - ], - lastUpdated: true, - sitemap: { - hostname: "https://tsoauth2server.com", - }, - themeConfig: { - siteTitle: "@jmondi/oauth2-server", - search: { - provider: "local", - }, - nav: [ - { text: "Github", link: "https://github.com/jasonraimondi/ts-oauth2-server" }, - { text: "Getting Started", link: "/getting_started/" }, - ], - sidebar: [ - { - items: [ - { text: "Getting Started", link: "/getting_started/" }, - { text: "Configuration", link: "/configuration/" }, - ], - }, - { - text: "Grants", - items: [ - { text: "Which Grant?", link: "/grants/" }, - { text: "Client Credentials", link: "/grants/client_credentials" }, - { text: "Authorization Code", link: "/grants/authorization_code" }, - { text: "Refresh Token", link: "/grants/refresh_token" }, - { text: "Password", link: "/grants/password" }, - { text: "Implicit", link: "/grants/implicit" }, - { text: "Token Exchange (RFC 8693)", link: "/grants/token_exchange" }, - ], - }, - { - text: "Repository", - items: [ - { text: "Repository Interfaces", link: "/repositories/" }, - { text: "Entity Interfaces", link: "/entities/" }, - ], - }, - { - text: "Misc", - items: [ - { text: "Adapters", link: "/adapters/" }, - { text: "Access Token", link: "/access_tokens/" }, - { text: "Custom Grant", link: "/grants/custom_grant" }, - { text: "Glossary", link: "/glossary/" }, - { text: "Migrate v2 to v3", link: "/migration/v2_to_v3" }, - ], - }, - { - text: "Examples", - items: [ - { text: "Simple", link: "https://github.com/jasonraimondi/ts-oauth2-server/tree/main/example" }, - { text: "Advanced", link: "https://github.com/jasonraimondi/ts-oauth2-server-example" }, - ], - }, - { - items: [{ text: "Sources", link: "/sources/" }], - }, - ], - footer: { - message: "Released under the MIT License.", - copyright: "Copyright © 2023 Jason Raimondi", - }, - }, -}); diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css deleted file mode 100644 index 8fa35dae..00000000 --- a/docs/.vitepress/theme/custom.css +++ /dev/null @@ -1,18 +0,0 @@ -ul.table-of-contents { - list-style-type: none; - margin: 1rem 0 0 0.5rem; - padding: 0; - line-height: 1; -} - -ul.table-of-contents ul { - margin-left: 1rem; -} - -.table-of-contents li { - text-indent: -5px; -} -.table-of-contents li:before { - content: "- "; - text-indent: -5px; -} diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js deleted file mode 100644 index 70d00f4d..00000000 --- a/docs/.vitepress/theme/index.js +++ /dev/null @@ -1,5 +0,0 @@ -// .vitepress/theme/index.js -import DefaultTheme from 'vitepress/theme' -import './custom.css' - -export default DefaultTheme diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..203388fb --- /dev/null +++ b/docs/README.md @@ -0,0 +1,41 @@ +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ pnpm i +``` + +### Local Development + +``` +$ pnpm start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. + +### Build + +``` +$ pnpm build +``` + +This command generates static content into the `build` directory and can be served using any static contents hosting service. + +### Deployment + +Using SSH: + +``` +$ USE_SSH=true pnpm deploy +``` + +Not using SSH: + +``` +$ GIT_USER= pnpm deploy +``` + +If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/docs/adapters/index.md b/docs/adapters/index.md deleted file mode 100644 index 77e66109..00000000 --- a/docs/adapters/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Adapters ---- - -# Adapters - -Adapters are a set of helper functions to provide framework specific integration into `@jmondi/oauth2-server`. Currently, Express and Fastify are both supported. - -## Express - -[https://expressjs.com/](https://expressjs.com/) - -```typescript -import { - requestFromExpress, - handleExpressResponse, - handleExpressError, -} from "@jmondi/oauth2-server/express" -``` - -```typescript -requestFromExpress(req: Express.Request): OAuthRequest; -``` - -Helper function to return an OAuthRequest from an `Express.Request`. - -```typescript -handleExpressResponse(expressResponse: Express.Response, oauthResponse: OAuthResponse): void; -``` - -Helper function that handles the express response after authorization. - -```typescript -handleExpressError(res: Express.Response, e: unknown | OAuthException): void; -``` - -Helper function that handles the express response if an error was thrown. - -## Fastify - -[https://www.fastify.io/](https://www.fastify.io/) - -```typescript -import { - requestFromFastify, - handleFastifyReply, - handleFastifyError, -} from "@jmondi/oauth2-server/fastify" -``` - -The following functions are imported directly from the adapter instead of the root package. - -```typescript -requestFromFastify(req: FastifyRequest): OAuthRequest; -``` - -Helper function to return an OAuthRequest from an `FastifyRequest`. - -```typescript -handleFastifyReply(fastifyReply: FasitfyReply, oauthResponse: OAuthResponse): void; -``` - -Helper function that handles the express response after authorization. - -```typescript -handleFastifyError(reply: FasitfyReply, e: unknown | OAuthException): void; -``` - -Helper function that handles the express response if an error was thrown. diff --git a/docs/babel.config.js b/docs/babel.config.js new file mode 100644 index 00000000..bfd75dbd --- /dev/null +++ b/docs/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve("@docusaurus/core/lib/babel/preset")], +}; diff --git a/docs/docs/adapters/express.md b/docs/docs/adapters/express.md new file mode 100644 index 00000000..07acd845 --- /dev/null +++ b/docs/docs/adapters/express.md @@ -0,0 +1,29 @@ +# Express + +[https://expressjs.com/](https://expressjs.com/) + +```typescript +import { + requestFromExpress, + handleExpressResponse, + handleExpressError, +} from "@jmondi/oauth2-server/express"; +``` + +```typescript +requestFromExpress(req: Express.Request): OAuthRequest; +``` + +Helper function to return an OAuthRequest from an `Express.Request`. + +```typescript +handleExpressResponse(expressResponse: Express.Response, oauthResponse: OAuthResponse): void; +``` + +Helper function that handles the express response after authorization. + +```typescript +handleExpressError(res: Express.Response, e: unknown | OAuthException): void; +``` + +Helper function that handles the express response if an error was thrown. diff --git a/docs/docs/adapters/fastify.md b/docs/docs/adapters/fastify.md new file mode 100644 index 00000000..c4b4a809 --- /dev/null +++ b/docs/docs/adapters/fastify.md @@ -0,0 +1,31 @@ +# Fastify + +[https://www.fastify.io/](https://www.fastify.io/) + +```typescript +import { + requestFromFastify, + handleFastifyReply, + handleFastifyError, +} from "@jmondi/oauth2-server/fastify"; +``` + +The following functions are imported directly from the adapter instead of the root package. + +```typescript +requestFromFastify(req: FastifyRequest): OAuthRequest; +``` + +Helper function to return an OAuthRequest from an `FastifyRequest`. + +```typescript +handleFastifyReply(fastifyReply: FasitfyReply, oauthResponse: OAuthResponse): void; +``` + +Helper function that handles the express response after authorization. + +```typescript +handleFastifyError(reply: FasitfyReply, e: unknown | OAuthException): void; +``` + +Helper function that handles the express response if an error was thrown. diff --git a/docs/docs/adapters/index.md b/docs/docs/adapters/index.md new file mode 100644 index 00000000..ef60862f --- /dev/null +++ b/docs/docs/adapters/index.md @@ -0,0 +1,7 @@ +--- +title: Adapters +--- + +# Adapters + +Adapters are a set of helper functions to provide framework specific integration into `@jmondi/oauth2-server`. Currently, Express and Fastify are both supported. diff --git a/docs/docs/adapters/vanilla.md b/docs/docs/adapters/vanilla.md new file mode 100644 index 00000000..afd610c8 --- /dev/null +++ b/docs/docs/adapters/vanilla.md @@ -0,0 +1,29 @@ +# Vanilla + +```typescript +import { + requestFromVanilla, + handleVanillaReply, + handleVanillaError, +} from "@jmondi/oauth2-server/vanilla"; +``` + +The following functions are imported directly from the adapter instead of the root package. + +```typescript +requestFromVanilla(req: Request): OAuthRequest; +``` + +Helper function to return an OAuthRequest from an `VanillaRequest`. + +```typescript +handleVanillaReply(res: Response, oauthResponse: OAuthResponse): void; +``` + +Helper function that handles the express response after authorization. + +```typescript +handleVanillaError(res: Response, e: unknown | OAuthException): void; +``` + +Helper function that handles the express response if an error was thrown. diff --git a/docs/configuration/index.md b/docs/docs/configuration.md similarity index 94% rename from docs/configuration/index.md rename to docs/docs/configuration.md index 90b89b00..6af96647 100644 --- a/docs/configuration/index.md +++ b/docs/docs/configuration.md @@ -1,6 +1,10 @@ +--- +sidebar_position: 7 +--- + # Configuration -::: info +:::info The default configuration is great for most users. You might not need to tweak anything here. @@ -15,11 +19,11 @@ type AuthorizationServerOptions = { notBeforeLeeway: 0; tokenCID: "id" | "name"; issuer: undefined; -} +}; ``` | Option | Type | Default | Details | -|-------------------|---------------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ----------------- | ------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `requiresPKCE` | boolean | true | PKCE is enabled by default and recommended for all users. To support a legacy client without PKCE, disable this option. [[Learn more]][requires-pkce] | | `requiresS256` | boolean | true | Disabled by default. If you want to require all clients to use S256, you can enable that here. [[Learn more]][requires-s256] | | `notBeforeLeeway` | number | 0 | Implementers MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing a NumericDate value. | @@ -36,7 +40,7 @@ const authorizationServer = new AuthorizationServer( new JwtService("secret-key"), { issuer: "auth.example.com", - } + }, ); ``` diff --git a/docs/docs/getting_started/endpoints.mdx b/docs/docs/getting_started/endpoints.mdx new file mode 100644 index 00000000..9e25c646 --- /dev/null +++ b/docs/docs/getting_started/endpoints.mdx @@ -0,0 +1,94 @@ +--- +sidebar_position: 4 +--- + +# Endpoints + +## The Token Endpoint + +The `/token` endpoint is a back channel endpoint that issues a usable access token. + +```typescript +app.post("/token", async (req: Express.Request, res: Express.Response) => { + try { + const oauthResponse = await authorizationServer.respondToAccessTokenRequest(req); + return handleExpressResponse(res, oauthResponse); + } catch (e) { + handleExpressError(e, res); + return; + } +}); +``` + +## The Authorize Endpoint + +The `/authorize` endpoint is a front channel endpoint that issues an authorization code. The authorization code can then be exchanged to the `AuthorizationServer` endpoint for a useable access token. + +The endpoint should redirect the user to login, and then to accept the scopes requested by the application, and only when the user accepts, should it send the user back to the clients redirect uri. + +```typescript +import { requestFromExpress } from "@jmondi/oauth2-server/express"; + +app.get("/authorize", async (req: Express.Request, res: Express.Response) => { + try { + // Validate the HTTP request and return an AuthorizationRequest. + const authRequest = await authorizationServer.validateAuthorizationRequest( + requestFromExpress(req), + ); + + // You will probably redirect the user to a login endpoint. + if (!req.user) { + req.redirect("/login"); + return; + } + // After login, the user should be redirected back with user in the session. + // You will need to manage the authorization query on the round trip. + // The auth request object can be serialized and saved into a user's session. + + // Once the user has logged in set the user on the AuthorizationRequest + authRequest.user = req.user; + + // Once the user has approved or denied the client update the status + // (true = approved, false = denied) + authRequest.isAuthorizationApproved = getIsAuthorizationApprovedFromSession(); + + // If the user has not approved the client's authorization request, + // the user should be redirected to the approval screen. + if (!authRequest.isAuthorizationApproved) { + // This form will ask the user to approve the client and the scopes requested. + // "Do you authorize Jason to: read contacts? write contacts?" + req.redirect("/scopes"); + return; + } + + // At this point the user has approved the client for authorization. + // Any last authorization requests such as Two Factor Authentication (2FA) can happen here. + + // Redirect back to redirect_uri with `code` and `state` as url query params. + const oauthResponse = await authorizationServer.completeAuthorizationRequest(authRequest); + return handleExpressResponse(res, oauthResponse); + } catch (e) { + handleExpressError(e, res); + } +}); +``` + +## The Revoke Endpoint + +:::tip Note +Implementing this endpoint is optional, but recommended. RFC7009 “OAuth 2.0 Token Revocation” +::: + +The `/token/revoke` endpoint is a back channel endpoint that revokes an existing token. + +```typescript +app.post("/token/revoke", async (req: Express.Request, res: Express.Response) => { + try { + const oauthResponse = await authorizationServer.revoke(req); + return handleExpressResponse(res, oauthResponse); + } catch (e) { + handleExpressError(e, res); + return; + } +}); +``` diff --git a/docs/entities/index.md b/docs/docs/getting_started/entities.md similarity index 87% rename from docs/entities/index.md rename to docs/docs/getting_started/entities.md index 2204773c..f861eedc 100644 --- a/docs/entities/index.md +++ b/docs/docs/getting_started/entities.md @@ -1,16 +1,18 @@ --- -title: Entity Interfaces +sidebar_position: 2 --- # Entity Interfaces +You will need to implement the following entities to create an AuthorizationServer. + ## Client Entity This entity represents the client that wants to access the resource server. The client will retrieve an access token from our authorization server and use it to access the resource server. -* URI must be an absolute URI -* The endpoint may include application/x-www-form-urlencoded formatted query component which must be retained when adding additional query params -* the endpoint URI must not include a fragment component +- URI must be an absolute URI +- The endpoint may include application/x-www-form-urlencoded formatted query component which must be retained when adding additional query params +- the endpoint URI must not include a fragment component ```typescript interface OAuthClient { @@ -27,7 +29,7 @@ interface OAuthClient { The auth code is used to retrieve an access token from the authorization server. -```typescript +```ts interface OAuthAuthCode { code: string; redirectUri?: string; @@ -40,12 +42,9 @@ interface OAuthAuthCode { } ``` -::: tip - ```ts type CodeChallengeMethod = "S256" | "plain"; ``` -::: ## Token Entity @@ -87,4 +86,4 @@ interface OAuthScope { name: string; [key: string]: any; } -``` \ No newline at end of file +``` diff --git a/docs/docs/getting_started/index.mdx b/docs/docs/getting_started/index.mdx new file mode 100644 index 00000000..0c37e88e --- /dev/null +++ b/docs/docs/getting_started/index.mdx @@ -0,0 +1,38 @@ +--- +sidebar_position: 1 +--- + +# Getting Started + +## Summary + +1. Implement the [entities](#) required by the Authorization Server. +1. Decide what grants you are going to Implement the [repositories](#) required by the Authorization Server. +1. + +## The Authorization Server + +The AuthorizationServer depends on [the repositories](#repositories). By default, no grants are enabled; each grant is opt-in and must be enabled when creating the AuthorizationServer. + +You can enable any grant types you would like to support. + +```typescript +const authorizationServer = new AuthorizationServer( + clientRepository, + accessTokenRepository, + scopeRepository, + "secret-key", + {}, // optional configuration +); +authorizationServer.enableGrantType("client_credentials"); +authorizationServer.enableGrantType("refresh_token"); +authorizationServer.enableGrantType({ + grant: "authorization_code", + userRepository, + authorizationCodeRepository, +}); +``` + +AFTER IMPLEMENTING ENTITIES THEN YOU NEED TO IMPLEMENT ROUTES + +See the [configuration](../configuration/index.md) documentation for a full list of config options. diff --git a/docs/docs/getting_started/install.mdx b/docs/docs/getting_started/install.mdx new file mode 100644 index 00000000..845c4692 --- /dev/null +++ b/docs/docs/getting_started/install.mdx @@ -0,0 +1,20 @@ +--- +sidebar_position: 1 +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# Install + + + + ```bash pnpm add @jmondi/oauth2-server ``` + + + ```bash npm install --save @jmondi/oauth2-server ``` + + + ```bash yarn add @jmondi/oauth2-server ``` + + diff --git a/docs/repositories/index.md b/docs/docs/getting_started/repositories.md similarity index 92% rename from docs/repositories/index.md rename to docs/docs/getting_started/repositories.md index a7eda580..b2d2aa96 100644 --- a/docs/repositories/index.md +++ b/docs/docs/getting_started/repositories.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 3 +--- + # Repository Interfaces ## Auth Code Repository @@ -6,23 +10,22 @@ OAuthAuthCodeRepository interface is utilized for managing OAuth authorization c ```typescript interface OAuthAuthCodeRepository { - // Fetch auth code entity from storage by code getByIdentifier(authCodeCode: string): Promise; - // An async call that should return an OAuthAuthCode that has not been + // An async call that should return an OAuthAuthCode that has not been // persisted to storage yet. issueAuthCode( - client: OAuthClient, - user: OAuthUser | undefined, - scopes: OAuthScope[] + client: OAuthClient, + user: OAuthUser | undefined, + scopes: OAuthScope[], ): OAuthAuthCode | Promise; // An async call that should persist an OAuthAuthCode into your storage. persist(authCode: OAuthAuthCode): Promise; - // This async method is called when an auth code is validated by the - // authorization server. Return `true` if the auth code has been + // This async method is called when an auth code is validated by the + // authorization server. Return `true` if the auth code has been // manually revoked. If the code is still valid return `false` isRevoked(authCodeCode: string): Promise; @@ -41,9 +44,9 @@ interface OAuthClientRepository { // check the grant type and secret against the client isClientValid( - grantType: GrantIdentifier, - client: OAuthClient, - clientSecret?: string + grantType: GrantIdentifier, + client: OAuthClient, + clientSecret?: string, ): Promise; } ``` @@ -57,9 +60,9 @@ interface OAuthScopeRepository { // Find all scopes by scope names getAllByIdentifiers(scopeNames: string[]): Promise; - // Scopes have already been validated against the client, if you arent + // Scopes have already been validated against the client, if you arent // doing anything fancy with scopes, you can just `return scopes`, - // Otherwise, now is your chance to add or remove any final scopes + // Otherwise, now is your chance to add or remove any final scopes // after they have already been validated against the client scopes finalize( scopes: OAuthScope[], @@ -76,25 +79,18 @@ OAuthTokenRepository interface manages OAuth tokens. It contains methods for iss ```typescript interface OAuthTokenRepository { - // An async call that should return an OAuthToken that has not been + // An async call that should return an OAuthToken that has not been // persisted to storage yet. - issueToken( - client: OAuthClient, - scopes: OAuthScope[], - user?: OAuthUser - ): Promise; + issueToken(client: OAuthClient, scopes: OAuthScope[], user?: OAuthUser): Promise; // An async call that should persist an OAuthToken into your storage. persist(accessToken: OAuthToken): Promise; // An async call that enhances an already-persisted OAuthToken with // refresh token fields. - issueRefreshToken( - accessToken: OAuthToken, - client: OAuthClient, - ): Promise + issueRefreshToken(accessToken: OAuthToken, client: OAuthClient): Promise; - // This async method is called when a refresh token is used to reissue + // This async method is called when a refresh token is used to reissue // an access token. The original access token is revoked, and a new // access token is issued. revoke(accessToken: OAuthToken): Promise; @@ -104,8 +100,8 @@ interface OAuthTokenRepository { // See https://www.rfc-editor.org/rfc/rfc6749#section-4.1.2 for why. revokeDescendantsOf?(authCodeId: string): Promise; - // This async method is called when an access token is validated by the - // authorization server. Return `true` if the access token has been + // This async method is called when an access token is validated by the + // authorization server. Return `true` if the access token has been // manually revoked. If the token is still valid return `false` isRefreshTokenRevoked(refreshToken: OAuthToken): Promise; @@ -120,8 +116,7 @@ The OAuthUserRepository interface handles user management. It defines methods fo ```typescript interface OAuthUserRepository { - - // Fetch user entity from storage by identifier. A provided password may + // Fetch user entity from storage by identifier. A provided password may // be used to validate the users credentials. Grant type and client are provided // for additional checks if desired getUserByCredentials( diff --git a/docs/grants/authorization_code.md b/docs/docs/grants/authorization_code.mdx similarity index 84% rename from docs/grants/authorization_code.md rename to docs/docs/grants/authorization_code.mdx index 3cfd1b53..b531db87 100644 --- a/docs/grants/authorization_code.md +++ b/docs/docs/grants/authorization_code.mdx @@ -1,6 +1,10 @@ +--- +sidebar_position: 2 +--- + # Authorization Code Grant (w/ PKCE) - -A temporary code that the client will exchange for an access token. The user authorizes the application, they are redirected back to the application with a temporary code in the URL. The application exchanges that code for the access token. + +A temporary code that the client will exchange for an access token. The user authorizes the application, they are redirected back to the application with a temporary code in the URL. The application exchanges that code for the access token. ### Flow @@ -12,14 +16,15 @@ The client redirects the user to the `/authorize` with the following query param - **client_id** is the client identifier you received when you first created the application - **redirect_uri** indicates the URL to return the user to after authorization is complete, such as org.example.app://redirect - **state** is a random string generated by your application, which you’ll verify later -- **code_challenge** must match the The code challenge as generated below, +- **code_challenge** must match the The code challenge as generated below, - **code_challenge_method** – Either `plain` or `S256`, depending on whether the challenge is the plain verifier string or the SHA256 hash of the string. If this parameter is omitted, the server will assume plain. -::: tip +:::tip The client secret **should never** be used during the Part One of the authorization_code flow. ::: -::: details View sample authorization_code (part 1) request +
+View sample authorization_code (part 1) request ```http request GET /authorize HTTP/1.1 Host: example.com @@ -31,8 +36,9 @@ response_type=code &state=abcdefghijklmnopqrstuvwxyz123456789 &code_challenge=92d3b56942866d1edf02c33339b7c3dc37c6201282bb238cb47f0d3289f28a93f1bdd8af6ca9913aed0c4c &code_challenge_method=S256 -``` -::: + +```` +
The user will be asked to login to the authorization server and approve the client and requested scopes. @@ -41,12 +47,14 @@ If the user approves the client, they will be redirected from the authorization - **code** is the authorization code that will soon be exchanged for a token - **state** is the random string provided and should be compared against the initially provided state -::: details View sample authorization_code (part 1) response +
+View sample authorization_code (part 1) response ```http request HTTP/1.1 302 Found Location: http://localhost&code=eyJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJhdXRoY29kZWNsaWVudCIsInJlZGlyZWN0X3VyaSI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdXRoX2NvZGVfaWQiOiJteS1zdXBlci1zZWNyZXQtYXV0aC1jb2RlIiwic2NvcGVzIjpbXSwiZXhwaXJlX3RpbWUiOjE2MDE3NTM3MzMsImNvZGVfY2hhbGxlbmdlIjoiT0RRd1pHTTRZelpsTnpNeU1qUXlaREF4WWpFNU1XWmtZMlJrTmpKbU1UbGxNbUkwTnpJMFpEbGtNR0psWWpGbE1tTXhPV1kyWkRJMVpEZGpNak13WWciLCJjb2RlX2NoYWxsZW5nZV9tZXRob2QiOiJTMjU2In0.OIEtZN5BHNaB4Mz0plUpGAP93EHyoil2smJiG3S_2BM&state=abcdefghijklmnopqrstuvwxyz123456789 -``` -::: +```` + +
#### Part Two @@ -59,15 +67,16 @@ The client sends a **POST** to the `/token` endpoint with the following body: - **code_verifier** - **code** is the authorization code from the query string -::: warning Private Key Leak Potential +:::warning Private Key Leak Potential Clients such as Browser Based Apps and Native Mobile Apps should **NEVER** have or use a client_secret. That means the client_secret should be omitted both when initially creating the OAuthClient entity, and when making requests. ::: -::: details View sample authorization_code (part 2) request -```http request -POST /token HTTP/1.1 -Host: example.com -Content-Type: application/x-www-form-urlencoded +
+ View sample authorization_code (part 2) request + ```http request + POST /token HTTP/1.1 + Host: example.com + Content-Type: application/x-www-form-urlencoded grant_type=authorization_code &client_id=xxxxxxxxxx @@ -75,18 +84,20 @@ grant_type=authorization_code &redirect_uri=http://localhost &code_verifier=OTJkM2I1Njk0Mjg2NmQxZWRmMDJjMzMzMzliN2MzZGMzN2M2MjAxMjgyYmIyMzhjYjQ3ZjBkMzI4OWYyOGE5M2YxYmRkOGFmNmNhOTkxM2FlZDBjNGM &code=eyJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiJhdXRoY29kZWNsaWVudCIsInJlZGlyZWN0X3VyaSI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdXRoX2NvZGVfaWQiOiJteS1zdXBlci1zZWNyZXQtYXV0aC1jb2RlIiwic2NvcGVzIjpbXSwiZXhwaXJlX3RpbWUiOjE2MDE3NTM3MzMsImNvZGVfY2hhbGxlbmdlIjoiT0RRd1pHTTRZelpsTnpNeU1qUXlaREF4WWpFNU1XWmtZMlJrTmpKbU1UbGxNbUkwTnpJMFpEbGtNR0psWWpGbE1tTXhPV1kyWkRJMVpEZGpNak13WWciLCJjb2RlX2NoYWxsZW5nZV9tZXRob2QiOiJTMjU2In0.OIEtZN5BHNaB4Mz0plUpGAP93EHyoil2smJiG3S_2BM -``` -::: + +```` +
The authorization server will respond with the following response - **token_type** will always be `Bearer` - **expires_in** is the time the token will live in seconds - **access_token** is a JWT signed token and is used to authenticate into the resource server -- **refresh_token** is a JWT signed token and can be used in with the [refresh grant](#refresh-token-grant) +- **refresh_token** is a JWT signed token and can be used in with the [refresh grant](#refresh-token-grant) - **scope** is a space delimited list of scopes the token has access to -::: details View sample authorization_code (part 2) response +
+View sample authorization_code (part 2) response ```http request HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 @@ -100,8 +111,9 @@ Pragma: no-cache refresh_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiJhdXRoY29kZWNsaWVudCIsImFjY2Vzc190b2tlbl9pZCI6Im5ldyB0b2tlbiIsInJlZnJlc2hfdG9rZW5faWQiOiJ0aGlzLWlzLW15LXN1cGVyLXNlY3JldC1yZWZyZXNoLXRva2VuIiwic2NvcGUiOiIiLCJleHBpcmVfdGltZSI6MTYwMTc1NTEwNCwiaWF0IjoxNjAxNzUxNTAzfQ.J_RUFD5-158atTmI98R95vowZWi4mUEXYCO7iNwzpK4', scope: 'contacts.read contacts.write' } -``` -::: +```` + +
### PKCE @@ -128,16 +140,12 @@ const code_verifier = crypto.randomBytes(43).toString("hex"); #### Code Challenge -Now we need to create a `code_challenge` from our `code_verifier`. +Now we need to create a `code_challenge` from our `code_verifier`. -For devices that can perform a SHA256 hash, the code challenge is a BASE64-URL-encoded string of the SHA256 hash of the code verifier. +For devices that can perform a SHA256 hash, the code challenge is a BASE64-URL-encoded string of the SHA256 hash of the code verifier. ```typescript -const code_challenge = base64urlencode( - crypto.createHash("sha256") - .update(code_verifier) - .digest() -); +const code_challenge = base64urlencode(crypto.createHash("sha256").update(code_verifier).digest()); ``` Clients that do not have the ability to perform a SHA256 hash are permitted to use the plain `code_verifier` string as the `code_challenge`. @@ -146,17 +154,18 @@ Clients that do not have the ability to perform a SHA256 hash are permitted to u const code_challenge = code_verifier; ``` -::: details Need a base64urlencode function? -```typescript -function base64urlencode(str: string) { - return Buffer.from(str) - .toString("base64") - .replace(/\+/g, "-") - .replace(/\//g, "_") - .replace(/=/g, ""); -} -``` -::: +
+ Need a base64urlencode function? + ```typescript + function base64urlencode(str: string) { + return Buffer.from(str) + .toString("base64") + .replace(/\+/g, "-") + .replace(/\//g, "_") + .replace(/=/g, ""); + } + ``` +
### Revocation @@ -168,23 +177,27 @@ An authorization code revocation request will include the following parameters: - **token** is the authorization code previously issued to the client - **token_type_hint** (optional) should be set to `authorization_code` -::: details View sample revoke authorization_code request -```http request -POST /token HTTP/1.1 -Host: example.com -Content-Type: application/x-www-form-urlencoded +
+ View sample revoke authorization_code request + ```http request + POST /token HTTP/1.1 + Host: example.com + Content-Type: application/x-www-form-urlencoded token_type_hint=authorization_code &refresh_token=xxxxxxxxx -``` -::: + +```` +
The authorization server will respond with the following response -::: details View sample revoke authorization_code response +
+View sample revoke authorization_code response ```http request HTTP/1.1 200 OK Cache-Control: no-store Pragma: no-cache -``` -::: \ No newline at end of file +```` + +
diff --git a/docs/grants/client_credentials.md b/docs/docs/grants/client_credentials.mdx similarity index 62% rename from docs/grants/client_credentials.md rename to docs/docs/grants/client_credentials.mdx index bf60b749..f414f773 100644 --- a/docs/grants/client_credentials.md +++ b/docs/docs/grants/client_credentials.mdx @@ -1,11 +1,14 @@ +--- +sidebar_position: 1 +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + # Client Credentials Grant When applications request an access token to access their own resources, not on behalf of a user. -::: tip -The client_credentials grant should only be used by clients that can hold a secret. No Browser or Native Mobile Apps should be using this grant. -::: - ### Flow The client sends a **POST** to the `/token` endpoint with the following body: @@ -15,30 +18,37 @@ The client sends a **POST** to the `/token` endpoint with the following body: - **client_secret** is the client secret - **scope** is a string with a space delimited list of requested scopes. The requested scopes must be valid for the client. -::: details View sample client_credentials request +
+View sample client_credentials request _Did you know?_ You can authenticate by passing the `client_id` and `client_secret` as a query string, or through basic auth. -::: code-group -```http request [Query String] -POST /token HTTP/1.1 -Host: example.com -Content-Type: application/x-www-form-urlencoded + + + ```http request + POST /token HTTP/1.1 + Host: example.com + Content-Type: application/x-www-form-urlencoded -grant_type=client_credentials -&client_id=xxxxxxxxxx -&client_secret=xxxxxxxxxx -&scope="contacts.read contacts.write" -``` -```http request [Basic Auth] -POST /token HTTP/1.1 -Host: example.com -Authorization: Basic MTpzdXBlci1zZWNyZXQtc2VjcmV0 + grant_type=client_credentials + &client_id=xxxxxxxxxx + &client_secret=xxxxxxxxxx + &scope="contacts.read contacts.write" + ``` + + + ```http request [] + POST /token HTTP/1.1 + Host: example.com + Authorization: Basic MTpzdXBlci1zZWNyZXQtc2VjcmV0 -grant_type=client_credentials -&scope="contacts.read contacts.write" -``` -::: + grant_type=client_credentials + &scope="contacts.read contacts.write" + ``` + + + +
The authorization server will respond with the following response. @@ -47,7 +57,8 @@ The authorization server will respond with the following response. - **access_token** is a JWT signed token and can be used to authenticate into the resource server - **scope** is a space delimited list of scopes the token has access to -::: details View sample client_credentials response +
+View sample client_credentials response ```http request HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 @@ -61,4 +72,10 @@ Pragma: no-cache scope: 'contacts.create contacts.read' } ``` +
+ +## Something + +:::warning +The client_credentials grant should only be used by clients that can hold a secret. No Browser or Native Mobile Apps should be using this grant. ::: diff --git a/docs/grants/custom_grant.md b/docs/docs/grants/custom_grant.mdx similarity index 96% rename from docs/grants/custom_grant.md rename to docs/docs/grants/custom_grant.mdx index a0943e63..fe8b9d88 100644 --- a/docs/grants/custom_grant.md +++ b/docs/docs/grants/custom_grant.mdx @@ -1,3 +1,7 @@ +--- +sidebar_position: 7 +--- + # Custom Grants To implement a custom grant, you need to extend the `AbstractGrant` class. This guide will walk you through the steps to create your own custom grant. @@ -13,7 +17,7 @@ export class MyCustomGrant extends CustomGrant { ... // Implement required methods } ``` - + Use your custom grant ```typescript diff --git a/docs/grants/implicit.md b/docs/docs/grants/implicit.mdx similarity index 67% rename from docs/grants/implicit.md rename to docs/docs/grants/implicit.mdx index ad1ddd26..44b45cb1 100644 --- a/docs/grants/implicit.md +++ b/docs/docs/grants/implicit.mdx @@ -1,10 +1,14 @@ +--- +sidebar_position: 5 +--- + # Implicit Grant -::: tip Not Recommended +:::warning Not Recommended Using the Implicit Grant is no longer best practice ::: -This grant is supported, but not documented. Industry best practice recommends using the Authorization Code Grant without a client secret for native and browser-based apps. +This grant is supported, but not documented. Best practice recommends using the Authorization Code Grant without a client secret for native and browser-based apps. Please look at these great resources: diff --git a/docs/docs/grants/index.md b/docs/docs/grants/index.md new file mode 100644 index 00000000..cc89bbfe --- /dev/null +++ b/docs/docs/grants/index.md @@ -0,0 +1,68 @@ +--- +title: Grants +sidebar_position: 2 +--- + +# Which Grant? + +Grants are different ways a [client](../misc/glossary/index.md#client) can obtain an `access_token` that will authorize +it to use the [resource server](../misc/glossary/index.md#resource-server). + +Deciding which grant to use depends on the type of client the end user will be using. + +``` ++-------+ +| Start | ++-------+ + | + V ++------------------------+ +| Have a refresh token? | ++------------------------+ + | + +-----No-------------------+ + | | + V V ++---------------------+ +------------------------+ +| Who is the | | Refresh Token Grant | +| access token owner? | | (Use refresh token to | ++---------------------+ | get new access token) | + | +------------------------+ + | + +-----A Machine-----+ + | | + V V ++----------------------+ +---------------------------+ +| What type of client? | | Client Credentials Grant | ++----------------------+ | (For machine-to-machine | + | | communication) | + | +---------------------------+ + | + +-----Server App--------+ + | | + +-----Browser-based-----+ +---------------------------+ + | App +--->| Authorization Code Grant | + | | | with PKCE | + +-----Native Mobile-----+ | (More secure, supports | + App | public clients) | + +---------------------------+ + +Notes: +1. Always use HTTPS for all OAuth 2.0 interactions +2. For public clients (browser-based and mobile apps), always use PKCE +3. Securely store tokens and other sensitive information +4. Implement proper token validation and revocation +5. Consider using OpenID Connect for authentication on top of OAuth 2.0 +``` + +### Refresh Token Grant + +If the client already has a refresh token, it can use the Refresh Token Grant to obtain a new access token without requiring the user's interaction. This grant is useful for long-lived sessions and background processes. + +### Client Credentials Grant + +If the access token owner is a machine, such as a server or an application acting on its own behalf, rather than an individual user, the client can use the Client Credentials Grant. This grant is designed for scenarios where the client needs to access resources autonomously without the context of a specific user. + +### Auth Code Grant with PKCE + +If the access token owner is a user, the recommended grant is the Authorization Code Grant with Proof Key for Code Exchange (PKCE). This grant involves a series of steps where the client redirects the user to the authorization server, the user grants access, and the server provides an authorization code that the client exchanges for an access token. PKCE adds an extra layer of security to protect against authorization code interception attacks. diff --git a/docs/docs/grants/password.mdx b/docs/docs/grants/password.mdx new file mode 100644 index 00000000..3228f329 --- /dev/null +++ b/docs/docs/grants/password.mdx @@ -0,0 +1,87 @@ +--- +sidebar_position: 4 +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# Password Grant + +The Password Grant is for first party clients that are able to hold secrets (ie not Browser or Native Mobile Apps) + +:::warning +The client_credentials grant should only be used by clients that can hold a secret +::: + +### Flow + +A complete refresh token request will include the following parameters: + +- **grant_type** must be set to `password` +- **client_id** is the client identifier you received when you first created the application +- **client_secret** if the client is confidential (has a secret), this must be provided +- **username** +- **password** +- **scope** (optional) + +
+ View sample password grant request + + + + ```http request + POST /token HTTP/1.1 + Host: example.com + Content-Type: application/x-www-form-urlencoded + + grant_type=password + &client_id=xxxxxxxxx + &client_secret=xxxxxxxxx + &username=xxxxxxxxx + &password=xxxxxxxxx + &scope="contacts.read contacts.write" + ``` + + + ```http request + POST /token HTTP/1.1 + Host: example.com + Authorization: Basic Y4NmE4MzFhZGFkNzU2YWRhN + + grant_type=password + &username=xxxxxxxxx + &password=xxxxxxxxx + &scope="contacts.read contacts.write" + ``` + + + +
+ +The authorization server will respond with the following response + +- **token_type** will always be `Bearer` +- **expires_in** is the time the token will live in seconds +- **access_token** is a JWT signed token and is used to authenticate into the resource server +- **refresh_token** is a JWT signed token and can be used in with the [refresh grant](#refresh-token-grant) +- **scope** is a space delimited list of scopes the token has access to + +
+ View sample password grant response + ```http request + HTTP/1.1 200 OK + Content-Type: application/json; charset=UTF-8 + Cache-Control: no-store + Pragma: no-cache + +{ +token_type: 'Bearer', +expires_in: 3600, +access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1MTJhYjlhNC1jNzg2LTQ4YTYtOGFkNi05NGM1M2E4ZGM2NTEiLCJleHAiOjE2MDE3NjcyOTksIm5iZiI6MTYwMTc2MzY5OSwiaWF0IjoxNjAxNzYzNjk5LCJqdGkiOiJuZXcgdG9rZW4iLCJjaWQiOiJ0ZXN0IGNsaWVudCIsInNjb3BlIjoiIn0.sX6SWc2Af8jn-izFnrLgNIcNuZz_tRLl2p7M3CzQwKg', +refresh_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiIzNTYxNWYyZi0xM2ZhLTQ3MzEtODNhMS05ZTM0NTU2YWIzOTAiLCJhY2Nlc3NfdG9rZW5faWQiOiJuZXcgdG9rZW4iLCJyZWZyZXNoX3Rva2VuX2lkIjoidGhpcy1pcy1teS1zdXBlci1zZWNyZXQtcmVmcmVzaC10b2tlbiIsInNjb3BlIjoiIiwidXNlcl9pZCI6IjUxMmFiOWE0LWM3ODYtNDhhNi04YWQ2LTk0YzUzYThkYzY1MSIsImV4cGlyZV90aW1lIjoxNjAxNzY3Mjk5LCJpYXQiOjE2MDE3NjM2OTh9.SSa7miIdk3bxyzg0f3M9jKBXWjPgD4QEw-AU3SYvBk0', +scope: 'contacts.read contacts.write' +} + +``` +
+``` diff --git a/docs/docs/grants/refresh_token.mdx b/docs/docs/grants/refresh_token.mdx new file mode 100644 index 00000000..e15efec5 --- /dev/null +++ b/docs/docs/grants/refresh_token.mdx @@ -0,0 +1,110 @@ +--- +sidebar_position: 3 +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# Refresh Token Grant + +Access tokens eventually expire. The refresh token grant enables the client to obtain a new access_token from an existing refresh_token. + +### Flow + +A complete refresh token request will include the following parameters: + +- **grant_type** must be set to `refresh_token` +- **client_id** is the client identifier you received when you first created the application +- **client_secret** if the client is confidential (has a secret), this must be provided +- **refresh_token** must be the signed token previously issued to the client +- **scope** (optional) the requested scope must not include any additional scopes that were not previously issued to the original token + +
+ View sample refresh_token request + + + + ```http request + POST /token HTTP/1.1 + Host: example.com + Content-Type: application/x-www-form-urlencoded + + grant_type=refresh_token + &refresh_token=xxxxxxxxx + &client_id=xxxxxxxxx + &client_secret=xxxxxxxxx + &scope="contacts.read contacts.write" + ``` + + + ```http request + POST /token HTTP/1.1 + Host: example.com + Authorization: Basic Y4NmE4MzFhZGFkNzU2YWRhN + Content-Type: application/x-www-form-urlencoded + + grant_type=refresh_token + &refresh_token=xxxxxxxxx + &scope="contacts.read contacts.write" + ``` + + + +
+ +The authorization server will respond with the following response + +- **token_type** will always be `Bearer` +- **expires_in** is the time the token will live in seconds +- **access_token** is a JWT signed token and is used to authenticate into the resource server +- **refresh_token** is a JWT signed token and can be used in with the [refresh grant](#refresh-token-grant) +- **scope** is a space delimited list of scopes the token has access to + +
+ View sample refresh_token response + ```http request + HTTP/1.1 200 OK + Content-Type: application/json; charset=UTF-8 + Cache-Control: no-store + Pragma: no-cache + +{ +token_type: 'Bearer', +expires_in: 3600, +access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1MTJhYjlhNC1jNzg2LTQ4YTYtOGFkNi05NGM1M2E4ZGM2NTEiLCJleHAiOjE2MDE3NjcyMTIsIm5iZiI6MTYwMTc2MzYxMiwiaWF0IjoxNjAxNzYzNjEyLCJqdGkiOiJuZXcgdG9rZW4iLCJjaWQiOiJ0ZXN0IGNsaWVudCIsInNjb3BlIjoiIn0.PO4eKSDVsFuKvebEXndWbZsprgzjkzEfHI7cl4N0YpM', +refresh_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiIzNTYxNWYyZi0xM2ZhLTQ3MzEtODNhMS05ZTM0NTU2YWIzOTAiLCJhY2Nlc3NfdG9rZW5faWQiOiJuZXcgdG9rZW4iLCJyZWZyZXNoX3Rva2VuX2lkIjoidGhpcy1pcy1teS1zdXBlci1zZWNyZXQtcmVmcmVzaC10b2tlbiIsInNjb3BlIjoiIiwidXNlcl9pZCI6IjUxMmFiOWE0LWM3ODYtNDhhNi04YWQ2LTk0YzUzYThkYzY1MSIsImV4cGlyZV90aW1lIjoxNjAxNzY3MjEyLCJpYXQiOjE2MDE3NjM2MTF9.du4KfAzelSA8hzBaqGlrSvPtH-BxOcoUBXW4HS3pJkM', +scope: 'contacts.read contacts.write' +} + +```` +
+ +### Revocation + +Refresh tokens are only valid for a single use. In addition, they can be explicitly revoked on a server that supports +[RFC7009 “OAuth 2.0 Token Revocation”](https://tools.ietf.org/html/rfc7009). + +A refresh token revocation request will include the following parameters: + +- **token** is the signed token previously issued to the client +- **token_type_hint** (optional) should be set to `refresh_token` + +
+View sample revoke refresh_token request +```http request +POST /token HTTP/1.1 +Host: example.com +Content-Type: application/x-www-form-urlencoded + +token_type_hint=refresh_token +&refresh_token=xxxxxxxxx +```` + +
+ +The authorization server will respond with the following response + +
+ View sample revoke refresh_token response + ```http request HTTP/1.1 200 OK Cache-Control: no-store Pragma: no-cache ``` +
diff --git a/docs/grants/token_exchange.md b/docs/docs/grants/token_exchange.mdx similarity index 79% rename from docs/grants/token_exchange.md rename to docs/docs/grants/token_exchange.mdx index e9fe974b..6305c188 100644 --- a/docs/grants/token_exchange.md +++ b/docs/docs/grants/token_exchange.mdx @@ -1,3 +1,7 @@ +--- +sidebar_position: 6 +--- + # Token Exchange Grant The [RFC 8693 - OAuth 2.0 Token Exchange](https://datatracker.ietf.org/doc/html/rfc8693) facilitates the secure exchange of tokens for accessing different resources or services. This documentation guides you through enabling this grant type on your authorization server, detailing request and response handling to ensure robust and secure token management. @@ -9,8 +13,10 @@ To enable the token exchange grant, you'll need to provide your own implementati ```ts authorizationServer.enableGrant({ grant_type: "urn:ietf:params:oauth:grant-type:token-exchange", - processTokenExchangeFn: async (args: ProcessTokenExchangeArgs): Promise => { - const { + processTokenExchangeFn: async ( + args: ProcessTokenExchangeArgs, + ): Promise => { + const { resource, audience, scopes, @@ -20,7 +26,7 @@ authorizationServer.enableGrant({ actorToken, actorTokenType, } = args; - + // Implement the logic to handle the token exchange. // This could involve validating the subject token, interacting with third-party services, // and generating or retrieving an appropriate access token for the user. @@ -30,7 +36,7 @@ authorizationServer.enableGrant({ // Return the user object associated with the exchanged token, or undefined if exchange fails return user; }, -}) +}); ``` ### Flow @@ -45,11 +51,12 @@ The client sends a **POST** to the `/token` endpoint with the following body: - **actor_token_type** (_optional but required when actor_token is present_) an identifier that indicates the type of the security token in the actor_token parameter [See more info](https://datatracker.ietf.org/doc/html/rfc8693#TokenTypeIdentifiers) - **resource** (_optional_) a URI that indicates the target service or resource where the client intends to use the requested security token. - **audience** (_optional_) is the logical name of the target service where the client intends to use the requested security token. -- **requested_token_type** (_optional_) is an identifier for the type of the requested security token [See more info](https://datatracker.ietf.org/doc/html/rfc8693#TokenTypeIdentifiers) +- **requested_token_type** (_optional_) is an identifier for the type of the requested security token [See more info](https://datatracker.ietf.org/doc/html/rfc8693#TokenTypeIdentifiers) - **scope** (_optional_) is a string with a space delimited list of requested scopes. The requested scopes must be valid for the client. -::: details View sample request -_Did you know?_ You can authenticate by passing the `client_id` and `client_secret` as a query string, or through basic auth. +
+ View sample request + _Did you know?_ You can authenticate by passing the `client_id` and `client_secret` as a query string, or through basic auth. ```http request [Query String] POST /token HTTP/1.1 @@ -63,7 +70,8 @@ grant_type=urn:ietf:params:oauth:grant-type:token-exchange &subject_token_type=urn:ietf:oauth:token-type:steam_session_ticket &scope="contacts.read contacts.write" ``` -::: + +
The authorization server will respond with the following response. @@ -72,18 +80,21 @@ The authorization server will respond with the following response. - **access_token** is a JWT signed token and can be used to authenticate into the resource server - **scope** is a space delimited list of scopes the token has access to -::: details View sample response -```http request -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 -Cache-Control: no-store -Pragma: no-cache - +
+ View sample response + ```http request + HTTP/1.1 200 OK + Content-Type: application/json; charset=UTF-8 + Cache-Control: no-store + Pragma: no-cache + { - token_type: 'Bearer', - expires_in: 3600, - access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDE3MDY0NjYsIm5iZiI6MTYwMTcwMjg2NiwiaWF0IjoxNjAxNzAyODY2LCJqdGkiOiJuZXcgdG9rZW4iLCJjaWQiOiJ0ZXN0IGNsaWVudCIsInNjb3BlIjoiIn0.KcXoCP6u9uhvtOoistLBskESA0tyT2I1SDe5Yn9iM4I', - scope: 'contacts.create contacts.read' +token_type: 'Bearer', +expires_in: 3600, +access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDE3MDY0NjYsIm5iZiI6MTYwMTcwMjg2NiwiaWF0IjoxNjAxNzAyODY2LCJqdGkiOiJuZXcgdG9rZW4iLCJjaWQiOiJ0ZXN0IGNsaWVudCIsInNjb3BlIjoiIn0.KcXoCP6u9uhvtOoistLBskESA0tyT2I1SDe5Yn9iM4I', +scope: 'contacts.create contacts.read' } + +``` +
``` -::: diff --git a/docs/access_tokens/index.md b/docs/docs/misc/access_tokens/index.md similarity index 86% rename from docs/access_tokens/index.md rename to docs/docs/misc/access_tokens/index.md index a8de4493..414ca81d 100644 --- a/docs/access_tokens/index.md +++ b/docs/docs/misc/access_tokens/index.md @@ -2,16 +2,16 @@ ## Optional Claims -### Issuer (**iss** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.1)) +### Issuer (**iss** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.1)) You can customize the `iss` property by setting the `issuer` property in [the AuthorizationServer configuration](/configuration/). -### Audience (**aud** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.3)) +### Audience (**aud** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.3)) You can customize the `aud` field by passing `aud`. | Endpoint | Query | Body | -|--------------|---------------------|---------------------| +| ------------ | ------------------- | ------------------- | | `/token` | `aud` \| `audience` | `aud` \| `audience` | | `/authorize` | `aud` \| `audience` | | @@ -20,7 +20,7 @@ You can customize the `aud` field by passing `aud`. You can add additional properties to the encoded access token by implementing the `extraTokenFields` method in your `JwtService` class. ```ts -import { JwtService } from '@jmondi/oauth2-server'; +import { JwtService } from "@jmondi/oauth2-server"; export class MyCustomJwtService extends JwtService { extraTokenFields(params: ExtraAccessTokenFieldArgs) { @@ -28,7 +28,7 @@ export class MyCustomJwtService extends JwtService { return { email: user?.email, myCustomProps: "this will be in the decoded token!", - } + }; } } ``` diff --git a/docs/glossary/index.md b/docs/docs/misc/glossary/index.md similarity index 73% rename from docs/glossary/index.md rename to docs/docs/misc/glossary/index.md index ade2ba6b..2fdcf783 100644 --- a/docs/glossary/index.md +++ b/docs/docs/misc/glossary/index.md @@ -2,7 +2,7 @@ title: Glossary --- -# {{ $frontmatter.title }} +# Glossary ## Resource Server @@ -10,4 +10,4 @@ The resource server is the OAuth 2.0 term for your API server. The resource serv ## Client -The application attempting to gain access to the resource server. The client must have an [OAuthClient](../entities/index.md#client-entity) +The application attempting to gain access to the resource server. The client must have an [OAuthClient](../../entities/index.md#client-entity) diff --git a/docs/docs/misc/index.md b/docs/docs/misc/index.md new file mode 100644 index 00000000..4576fedb --- /dev/null +++ b/docs/docs/misc/index.md @@ -0,0 +1 @@ +# Miscellaneous diff --git a/docs/utils/index.md b/docs/docs/misc/utils/index.md similarity index 81% rename from docs/utils/index.md rename to docs/docs/misc/utils/index.md index 0c01fcd6..44ee6097 100644 --- a/docs/utils/index.md +++ b/docs/docs/misc/utils/index.md @@ -1,8 +1,4 @@ ---- -title: Utils ---- - -# {{ $frontmatter.title }} +# Utils ## JwtService @@ -13,14 +9,14 @@ Using [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) ### Example Extra Params Usage ```typescript -import { JwtService } from '@jmondi/oauth2-server'; +import { JwtService } from "@jmondi/oauth2-server"; export class MyCustomJwtService extends JwtService { extraTokenFields({ user, client }: ExtraAccessTokenFieldArgs) { return { email: user?.email, client_id: client.id, - } + }; } } ``` diff --git a/docs/sources/index.md b/docs/docs/sources/index.md similarity index 94% rename from docs/sources/index.md rename to docs/docs/sources/index.md index b983dbb3..70bea224 100644 --- a/docs/sources/index.md +++ b/docs/docs/sources/index.md @@ -10,7 +10,7 @@ https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/ -https://tools.ietf.org/html/rfc6749#section-4.1 +https://tools.ietf.org/html/rfc6749#section-4.1 https://tools.ietf.org/html/rfc7009 @@ -21,5 +21,4 @@ https://www.oauth.com/oauth2-servers/pkce/ https://www.oauth.com/oauth2-servers/pkce/authorization-request/ [access_token_response]: https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/ "Access Token Response" - [client_credentials]: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ "Client Credentials Grant" diff --git a/docs/migration/v2_to_v3.md b/docs/docs/v2_to_v3.md similarity index 83% rename from docs/migration/v2_to_v3.md rename to docs/docs/v2_to_v3.md index 6d6dffbc..124d4357 100644 --- a/docs/migration/v2_to_v3.md +++ b/docs/docs/v2_to_v3.md @@ -1,6 +1,6 @@ # Migrating from v2 to v3 -Upgrade Time Estimate: ESM? 10 minutes; no-ESM? Varies +Upgrade Time Estimate: 10 minutes [[toc]] @@ -23,9 +23,9 @@ const authorizationServer = new AuthorizationServer( userRepository, jwtService, { - requiresS256: false, + requiresS256: false, tokenCID: "name", - } + }, ); ``` @@ -38,9 +38,9 @@ const authorizationServer = new AuthorizationServer( scopeRepository, new JwtService("secret-key"), { - requiresS256: true, + requiresS256: true, tokenCID: "id", - } + }, ); ``` @@ -50,7 +50,7 @@ In v3, `enableGrantType` has been updated for the **"authorization_code"** and * ### Authorization Code Grant -`AuthorizationCodeGrant` now requires a [AuthorizationCodeRepository](../repositories/index.md#authorization-code-repository) and a [UserRepository](../repositories/index.md#user-repository). +`AuthorizationCodeGrant` now requires a [AuthorizationCodeRepository](../../repositories/index.md#authorization-code-repository) and a [UserRepository](../../repositories/index.md#user-repository). **Before (v2.x):** @@ -63,14 +63,14 @@ authorizationServer.enableGrantType("authorization_code"); ```typescript authorizationServer.enableGrantType({ grant: "authorization_code", - userRepository, + userRepository, authorizationCodeRepository, }); ``` ### Password Grant -`PasswordGrant` now requires a [UserRepository](../repositories/index.md#user-repository). +`PasswordGrant` now requires a [UserRepository](../../repositories/index.md#user-repository). **Before (v2.x):** @@ -83,7 +83,7 @@ authorizationServer.enableGrantType("password"); ```typescript authorizationServer.enableGrantType({ grant: "password", - userRepository, + userRepository, }); ``` @@ -92,7 +92,7 @@ authorizationServer.enableGrantType({ The default options for `AuthorizationServer` have been modified to better align with the OAuth 2.0 specification: | Option | v2.x Value | v3.x Value | -|--------------|------------|------------| +| ------------ | ---------- | ---------- | | requiresS256 | false | true | | tokenCID | "name" | "id" | @@ -102,4 +102,4 @@ The undocumented, public method `setOptions` has been removed in v3. Options can ## `generateRandomToken` Function Fix -A bug in the `generateRandomToken` function has been fixed in v3.x. \ No newline at end of file +A bug in the `generateRandomToken` function has been fixed in v3.x. diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts new file mode 100644 index 00000000..b0b80b0c --- /dev/null +++ b/docs/docusaurus.config.ts @@ -0,0 +1,92 @@ +import { themes as prismThemes } from "prism-react-renderer"; +import type { Config } from "@docusaurus/types"; +import type * as Preset from "@docusaurus/preset-classic"; +import tailwindPlugin from "./tailwind-config.cjs"; + +const config: Config = { + title: "ts-oauth2-server", + plugins: [tailwindPlugin], + tagline: + "A standards compliant implementation of an OAuth 2.0 authorization server for Nodejs that utilizes JWT and Proof Key for Code Exchange (PKCE), written in TypeScript. ", + favicon: "img/favicon.ico", + url: "https://tsoauth2server.com", + baseUrl: "/", + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "warn", + i18n: { + defaultLocale: "en", + locales: ["en"], + }, + presets: [ + [ + "classic", + { + docs: { + sidebarPath: "./sidebars.ts", + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: "https://github.com/jasonraimondi/ts-oauth2-server/tree/main/", + }, + blog: { + showReadingTime: true, + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: "https://github.com/jasonraimondi/ts-oauth2-server/tree/main/", + }, + theme: { + customCss: "./src/css/custom.css", + }, + } satisfies Preset.Options, + ], + ], + + themeConfig: { + // Replace with your project's social card + image: "img/docusaurus-social-card.jpg", + navbar: { + title: "ts-oauth2-server", + logo: { + alt: "ts-oauth2-server Logo", + src: "img/logo.svg", + }, + items: [ + { + sidebarId: "mainSidebar", + type: "docSidebar", + label: "Getting Started", + position: "right", + }, + { + href: "/docs/configuration/", + label: "Config", + position: "right", + }, + { + href: "https://github.com/jasonraimondi/ts-oauth2-server", + label: "GitHub", + position: "right", + }, + { + href: "https://www.npmjs.com/package/@jmondi/oauth2-server", + label: "NPM", + position: "right", + }, + { + href: "https://jsr.io/@jmondi/oauth2-server", + label: "JSR", + position: "right", + }, + ], + }, + footer: { + style: "light", + copyright: `Copyright © ${new Date().getFullYear()} Jason Raimondi. Built with Docusaurus.`, + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula, + }, + } satisfies Preset.ThemeConfig, +}; + +export default config; diff --git a/docs/grants/index.md b/docs/grants/index.md deleted file mode 100644 index 7df6de6a..00000000 --- a/docs/grants/index.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: Which Grant? ---- - -# {{ $frontmatter.title }} - -Grants are different ways a [client](../glossary/index.md#client) can obtain an `access_token` that will authorize -it to use the [resource server](../glossary/index.md#resource-server). - -Deciding which grant to use depends on the type of client the end user will be using. - -``` -+-------+ -| Start | -+-------+ - V - | - - | -+------------------------+ +-----------------------+ -| Have a refresh token? |>----Yes----->| Refresh Token Grant | -+------------------------+ +-----------------------+ - V - | - No - | -+---------------------+ -| Who is the | +--------------------------+ -| Access token owner? |>---A Machine---->| Client Credentials Grant | -+---------------------+ +--------------------------+ - V - | - | - A User - | - | -+----------------------+ -| What type of client? | -+----------------------+ - | - | +---------------------------+ - |>-----------Server App---------->| Auth Code Grant with PKCE | - | +---------------------------+ - | - | +---------------------------+ - |>-------Browser Based App------->| Auth Code Grant with PKCE | - | +---------------------------+ - | - | +---------------------------+ - |>-------Native Mobile App------->| Auth Code Grant with PKCE | - +---------------------------+ - -``` - -### Refresh Token Grant - -If the client already has a refresh token, it can use the Refresh Token Grant to obtain a new access token without requiring the user's interaction. This grant is useful for long-lived sessions and background processes. - -### Client Credentials Grant - -If the access token owner is a machine, such as a server or an application acting on its own behalf, rather than an individual user, the client can use the Client Credentials Grant. This grant is designed for scenarios where the client needs to access resources autonomously without the context of a specific user. - -### Auth Code Grant with PKCE - -If the access token owner is a user, the recommended grant is the Authorization Code Grant with Proof Key for Code Exchange (PKCE). This grant involves a series of steps where the client redirects the user to the authorization server, the user grants access, and the server provides an authorization code that the client exchanges for an access token. PKCE adds an extra layer of security to protect against authorization code interception attacks. diff --git a/docs/grants/password.md b/docs/grants/password.md deleted file mode 100644 index 4bddaf00..00000000 --- a/docs/grants/password.md +++ /dev/null @@ -1,73 +0,0 @@ -# Password Grant - -The Password Grant is for first party clients that are able to hold secrets (ie not Browser or Native Mobile Apps) - -::: tip -The client_credentials grant should only be used by clients that can hold a secret -::: - -### Flow - -A complete refresh token request will include the following parameters: - -- **grant_type** must be set to `password` -- **client_id** is the client identifier you received when you first created the application -- **client_secret** if the client is confidential (has a secret), this must be provided -- **username** -- **password** -- **scope** (optional) - -::: details View sample password grant request - -::: code-group - -```http request [Query String] -POST /token HTTP/1.1 -Host: example.com -Content-Type: application/x-www-form-urlencoded - -grant_type=password -&client_id=xxxxxxxxx -&client_secret=xxxxxxxxx -&username=xxxxxxxxx -&password=xxxxxxxxx -&scope="contacts.read contacts.write" -``` - -```http request [Basic Auth] -POST /token HTTP/1.1 -Host: example.com -Authorization: Basic Y4NmE4MzFhZGFkNzU2YWRhN - -grant_type=password -&username=xxxxxxxxx -&password=xxxxxxxxx -&scope="contacts.read contacts.write" -``` - -::: - -The authorization server will respond with the following response - -- **token_type** will always be `Bearer` -- **expires_in** is the time the token will live in seconds -- **access_token** is a JWT signed token and is used to authenticate into the resource server -- **refresh_token** is a JWT signed token and can be used in with the [refresh grant](#refresh-token-grant) -- **scope** is a space delimited list of scopes the token has access to - -::: details View sample password grant response -```http request -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 -Cache-Control: no-store -Pragma: no-cache - -{ - token_type: 'Bearer', - expires_in: 3600, - access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1MTJhYjlhNC1jNzg2LTQ4YTYtOGFkNi05NGM1M2E4ZGM2NTEiLCJleHAiOjE2MDE3NjcyOTksIm5iZiI6MTYwMTc2MzY5OSwiaWF0IjoxNjAxNzYzNjk5LCJqdGkiOiJuZXcgdG9rZW4iLCJjaWQiOiJ0ZXN0IGNsaWVudCIsInNjb3BlIjoiIn0.sX6SWc2Af8jn-izFnrLgNIcNuZz_tRLl2p7M3CzQwKg', - refresh_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiIzNTYxNWYyZi0xM2ZhLTQ3MzEtODNhMS05ZTM0NTU2YWIzOTAiLCJhY2Nlc3NfdG9rZW5faWQiOiJuZXcgdG9rZW4iLCJyZWZyZXNoX3Rva2VuX2lkIjoidGhpcy1pcy1teS1zdXBlci1zZWNyZXQtcmVmcmVzaC10b2tlbiIsInNjb3BlIjoiIiwidXNlcl9pZCI6IjUxMmFiOWE0LWM3ODYtNDhhNi04YWQ2LTk0YzUzYThkYzY1MSIsImV4cGlyZV90aW1lIjoxNjAxNzY3Mjk5LCJpYXQiOjE2MDE3NjM2OTh9.SSa7miIdk3bxyzg0f3M9jKBXWjPgD4QEw-AU3SYvBk0', - scope: 'contacts.read contacts.write' -} -``` -::: diff --git a/docs/grants/refresh_token.md b/docs/grants/refresh_token.md deleted file mode 100644 index 6941a2f1..00000000 --- a/docs/grants/refresh_token.md +++ /dev/null @@ -1,98 +0,0 @@ -# Refresh Token Grant - -Access tokens eventually expire. The refresh token grant enables the client to obtain a new access_token from an existing refresh_token. - -### Flow - -A complete refresh token request will include the following parameters: - -- **grant_type** must be set to `refresh_token` -- **client_id** is the client identifier you received when you first created the application -- **client_secret** if the client is confidential (has a secret), this must be provided -- **refresh_token** must be the signed token previously issued to the client -- **scope** (optional) the requested scope must not include any additional scopes that were not previously issued to the original token - -::: details View sample refresh_token request - -::: code-group - -```http request [Query String] -POST /token HTTP/1.1 -Host: example.com -Content-Type: application/x-www-form-urlencoded - -grant_type=refresh_token -&refresh_token=xxxxxxxxx -&client_id=xxxxxxxxx -&client_secret=xxxxxxxxx -&scope="contacts.read contacts.write" -``` - -```http request [Basic Auth] -POST /token HTTP/1.1 -Host: example.com -Authorization: Basic Y4NmE4MzFhZGFkNzU2YWRhN -Content-Type: application/x-www-form-urlencoded - -grant_type=refresh_token -&refresh_token=xxxxxxxxx -&scope="contacts.read contacts.write" -``` - -::: - -The authorization server will respond with the following response - -- **token_type** will always be `Bearer` -- **expires_in** is the time the token will live in seconds -- **access_token** is a JWT signed token and is used to authenticate into the resource server -- **refresh_token** is a JWT signed token and can be used in with the [refresh grant](#refresh-token-grant) -- **scope** is a space delimited list of scopes the token has access to - -::: details View sample refresh_token response -```http request -HTTP/1.1 200 OK -Content-Type: application/json; charset=UTF-8 -Cache-Control: no-store -Pragma: no-cache - -{ - token_type: 'Bearer', - expires_in: 3600, - access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1MTJhYjlhNC1jNzg2LTQ4YTYtOGFkNi05NGM1M2E4ZGM2NTEiLCJleHAiOjE2MDE3NjcyMTIsIm5iZiI6MTYwMTc2MzYxMiwiaWF0IjoxNjAxNzYzNjEyLCJqdGkiOiJuZXcgdG9rZW4iLCJjaWQiOiJ0ZXN0IGNsaWVudCIsInNjb3BlIjoiIn0.PO4eKSDVsFuKvebEXndWbZsprgzjkzEfHI7cl4N0YpM', - refresh_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiIzNTYxNWYyZi0xM2ZhLTQ3MzEtODNhMS05ZTM0NTU2YWIzOTAiLCJhY2Nlc3NfdG9rZW5faWQiOiJuZXcgdG9rZW4iLCJyZWZyZXNoX3Rva2VuX2lkIjoidGhpcy1pcy1teS1zdXBlci1zZWNyZXQtcmVmcmVzaC10b2tlbiIsInNjb3BlIjoiIiwidXNlcl9pZCI6IjUxMmFiOWE0LWM3ODYtNDhhNi04YWQ2LTk0YzUzYThkYzY1MSIsImV4cGlyZV90aW1lIjoxNjAxNzY3MjEyLCJpYXQiOjE2MDE3NjM2MTF9.du4KfAzelSA8hzBaqGlrSvPtH-BxOcoUBXW4HS3pJkM', - scope: 'contacts.read contacts.write' -} -``` -::: - -### Revocation - -Refresh tokens are only valid for a single use. In addition, they can be explicitly revoked on a server that supports -[RFC7009 “OAuth 2.0 Token Revocation”](https://tools.ietf.org/html/rfc7009). - -A refresh token revocation request will include the following parameters: - -- **token** is the signed token previously issued to the client -- **token_type_hint** (optional) should be set to `refresh_token` - -::: details View sample revoke refresh_token request -```http request -POST /token HTTP/1.1 -Host: example.com -Content-Type: application/x-www-form-urlencoded - -token_type_hint=refresh_token -&refresh_token=xxxxxxxxx -``` -::: - -The authorization server will respond with the following response - -::: details View sample revoke refresh_token response -```http request -HTTP/1.1 200 OK -Cache-Control: no-store -Pragma: no-cache -``` -::: \ No newline at end of file diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..71cd92a5 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,52 @@ +{ + "name": "my-website", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids", + "typecheck": "tsc" + }, + "dependencies": { + "@docusaurus/core": "3.4.0", + "@docusaurus/preset-classic": "3.4.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "lucide-react": "^0.394.0", + "prism-react-renderer": "^2.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.4.0", + "@docusaurus/tsconfig": "3.4.0", + "@docusaurus/types": "3.4.0", + "autoprefixer": "^10.4.19", + "postcss": "^8.4.38", + "prettier": "^3.3.1", + "tailwindcss": "^3.4.4", + "typescript": "~5.2.2" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + } +} diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 00000000..24bc884f --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,10691 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@docusaurus/core': + specifier: 3.4.0 + version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/preset-classic': + specifier: 3.4.0 + version: 3.4.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2) + '@mdx-js/react': + specifier: ^3.0.0 + version: 3.0.1(@types/react@18.3.3)(react@18.3.1) + clsx: + specifier: ^2.0.0 + version: 2.1.1 + lucide-react: + specifier: ^0.394.0 + version: 0.394.0(react@18.3.1) + prism-react-renderer: + specifier: ^2.3.0 + version: 2.3.1(react@18.3.1) + react: + specifier: ^18.0.0 + version: 18.3.1 + react-dom: + specifier: ^18.0.0 + version: 18.3.1(react@18.3.1) + devDependencies: + '@docusaurus/module-type-aliases': + specifier: 3.4.0 + version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/tsconfig': + specifier: 3.4.0 + version: 3.4.0 + '@docusaurus/types': + specifier: 3.4.0 + version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + autoprefixer: + specifier: ^10.4.19 + version: 10.4.19(postcss@8.4.38) + postcss: + specifier: ^8.4.38 + version: 8.4.38 + prettier: + specifier: ^3.3.1 + version: 3.3.1 + tailwindcss: + specifier: ^3.4.4 + version: 3.4.4 + typescript: + specifier: ~5.2.2 + version: 5.2.2 + +packages: + + '@algolia/autocomplete-core@1.9.3': + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3': + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.9.3': + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.9.3': + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/cache-browser-local-storage@4.23.3': + resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} + + '@algolia/cache-common@4.23.3': + resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} + + '@algolia/cache-in-memory@4.23.3': + resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} + + '@algolia/client-account@4.23.3': + resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} + + '@algolia/client-analytics@4.23.3': + resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} + + '@algolia/client-common@4.23.3': + resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} + + '@algolia/client-personalization@4.23.3': + resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} + + '@algolia/client-search@4.23.3': + resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} + + '@algolia/events@4.0.1': + resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + + '@algolia/logger-common@4.23.3': + resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} + + '@algolia/logger-console@4.23.3': + resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} + + '@algolia/recommend@4.23.3': + resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} + + '@algolia/requester-browser-xhr@4.23.3': + resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} + + '@algolia/requester-common@4.23.3': + resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} + + '@algolia/requester-node-http@4.23.3': + resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} + + '@algolia/transporter@4.23.3': + resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.24.7': + resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.24.7': + resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.24.7': + resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.24.7': + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.24.7': + resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.24.7': + resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.24.7': + resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7': + resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': + resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7': + resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-namespace-from@7.8.3': + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.24.7': + resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.24.7': + resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.24.7': + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.24.7': + resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.24.7': + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.24.7': + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.24.7': + resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.24.7': + resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.24.7': + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.24.7': + resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.24.7': + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.24.7': + resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.24.7': + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.24.7': + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dynamic-import@7.24.7': + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.24.7': + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.24.7': + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.24.7': + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.24.7': + resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.24.7': + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.24.7': + resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7': + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.24.7': + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.24.7': + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.7': + resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.24.7': + resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.24.7': + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.24.7': + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.24.7': + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.24.7': + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.24.7': + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.24.7': + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.24.7': + resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.24.7': + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.24.7': + resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.24.7': + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.24.7': + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.24.7': + resolution: {integrity: sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.24.7': + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.24.7': + resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.24.7': + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.24.7': + resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.24.7': + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-reserved-words@7.24.7': + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.24.7': + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.24.7': + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.24.7': + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.24.7': + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.24.7': + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.24.7': + resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.24.7': + resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.24.7': + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.24.7': + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.24.7': + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.24.7': + resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.24.7': + resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.24.7': + resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.24.7': + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime-corejs3@7.24.7': + resolution: {integrity: sha512-eytSX6JLBY6PVAeQa2bFlDx/7Mmln/gaEpsit5a3WEvjGfiIytEsgAwuIXCPM0xvw0v0cJn3ilq0/TvXrW0kgA==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@docsearch/css@3.6.0': + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} + + '@docsearch/react@3.6.0': + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@docusaurus/core@3.4.0': + resolution: {integrity: sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==} + engines: {node: '>=18.0'} + hasBin: true + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/cssnano-preset@3.4.0': + resolution: {integrity: sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==} + engines: {node: '>=18.0'} + + '@docusaurus/logger@3.4.0': + resolution: {integrity: sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==} + engines: {node: '>=18.0'} + + '@docusaurus/mdx-loader@3.4.0': + resolution: {integrity: sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/module-type-aliases@3.4.0': + resolution: {integrity: sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==} + peerDependencies: + react: '*' + react-dom: '*' + + '@docusaurus/plugin-content-blog@3.4.0': + resolution: {integrity: sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-content-docs@3.4.0': + resolution: {integrity: sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-content-pages@3.4.0': + resolution: {integrity: sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-debug@3.4.0': + resolution: {integrity: sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-analytics@3.4.0': + resolution: {integrity: sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-gtag@3.4.0': + resolution: {integrity: sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-google-tag-manager@3.4.0': + resolution: {integrity: sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/plugin-sitemap@3.4.0': + resolution: {integrity: sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/preset-classic@3.4.0': + resolution: {integrity: sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/react-loadable@6.0.0': + resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} + peerDependencies: + react: '*' + + '@docusaurus/theme-classic@3.4.0': + resolution: {integrity: sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-common@3.4.0': + resolution: {integrity: sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-search-algolia@3.4.0': + resolution: {integrity: sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/theme-translations@3.4.0': + resolution: {integrity: sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==} + engines: {node: '>=18.0'} + + '@docusaurus/tsconfig@3.4.0': + resolution: {integrity: sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg==} + + '@docusaurus/types@3.4.0': + resolution: {integrity: sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + '@docusaurus/utils-common@3.4.0': + resolution: {integrity: sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + + '@docusaurus/utils-validation@3.4.0': + resolution: {integrity: sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==} + engines: {node: '>=18.0'} + + '@docusaurus/utils@3.4.0': + resolution: {integrity: sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@mdx-js/mdx@3.0.1': + resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} + + '@mdx-js/react@3.0.1': + resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.2.2': + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} + engines: {node: '>=12'} + + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + + '@slorber/remark-comment@1.0.0': + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@8.56.10': + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/express-serve-static-core@4.19.3': + resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/gtag.js@0.0.12': + resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/history@4.7.11': + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + + '@types/http-proxy@1.17.14': + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/node@20.14.2': + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prismjs@1.26.4': + resolution: {integrity: sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==} + + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-router-config@5.0.11': + resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} + + '@types/react-router-dom@5.3.3': + resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} + + '@types/react-router@5.1.20': + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + + '@types/react@18.3.3': + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@types/ws@8.5.10': + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@webassemblyjs/ast@1.12.1': + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + + '@webassemblyjs/helper-buffer@1.12.1': + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + + '@webassemblyjs/helper-wasm-section@1.12.1': + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + + '@webassemblyjs/wasm-edit@1.12.1': + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + + '@webassemblyjs/wasm-gen@1.12.1': + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + + '@webassemblyjs/wasm-opt@1.12.1': + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + + '@webassemblyjs/wasm-parser@1.12.1': + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + + '@webassemblyjs/wast-printer@1.12.1': + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-assertions@1.9.0: + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.16.0: + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} + + algoliasearch-helper@3.21.0: + resolution: {integrity: sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w==} + peerDependencies: + algoliasearch: '>= 3.1 < 6' + + algoliasearch@4.23.3: + resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + autoprefixer@10.4.19: + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-loader@9.1.3: + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.4: + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.2.1: + resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001628: + resolution: {integrity: sha512-S3BnR4Kh26TBxbi5t5kpbcUlLJb9lhtDXISDPwOfI+JoC+ik0QksvkZtUVyikw3hjnkgkMPSJ8oIM9yMm9vflA==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-promises@1.2.0: + resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} + engines: {node: '>=10'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + + content-disposition@0.5.2: + resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} + engines: {node: '>= 0.6'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + copy-text-to-clipboard@3.2.0: + resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} + engines: {node: '>=12'} + + copy-webpack-plugin@11.0.0: + resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.1.0 + + core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + + core-js-pure@3.37.1: + resolution: {integrity: sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==} + + core-js@3.37.1: + resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-minimizer-webpack-plugin@5.0.1: + resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@parcel/css': '*' + '@swc/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + lightningcss: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + '@swc/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + lightningcss: + optional: true + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-advanced@6.1.2: + resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-preset-default@6.1.2: + resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano-utils@4.0.2: + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + cssnano@6.1.2: + resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + detect-port-alt@1.1.6: + resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} + engines: {node: '>= 4.2.1'} + hasBin: true + + detect-port@1.6.1: + resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} + engines: {node: '>= 4.0.0'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.4.790: + resolution: {integrity: sha512-eVGeQxpaBYbomDBa/Mehrs28MdvCXfJmEFzaMFsv8jH/MJDLIylJN81eTJ5kvx7B7p18OiPK0BkC06lydEy63A==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + emoticon@4.0.1: + resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.3: + resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.1.1: + resolution: {integrity: sha512-5mvUrF2suuv5f5cGDnDphIy4/gW86z82kl5qG6mM9z04SEQI4FB5Apmaw/TGEf3l55nLtMs5s51dmhUzvAHQCA==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eta@2.2.0: + resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} + engines: {node: '>=6.0.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eval@0.1.8: + resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} + engines: {node: '>= 0.8'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-url-parser@1.1.3: + resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + feed@4.2.2: + resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} + engines: {node: '>=0.4.0'} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + filesize@8.0.7: + resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} + engines: {node: '>= 0.4.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + + find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} + engines: {node: '>=14'} + + fork-ts-checker-webpack-plugin@6.5.3: + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + github-slugger@1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.4.2: + resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.3: + resolution: {integrity: sha512-ICWvVOF2fq4+7CMmtCPD5CM4QKjPbHpPotE6+8tDooV0ZuyJVUzHsrNX+O5NaRbieTf0F7FfeBOMAwi6Td0+yQ==} + + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + + hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-entities@2.5.2: + resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.6.0: + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + + http-proxy-middleware@2.0.6: + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} + hasBin: true + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infima@0.2.0-alpha.43: + resolution: {integrity: sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {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. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inline-style-parser@0.2.3: + resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-root@2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} + engines: {node: '>=14'} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jiti@1.21.3: + resolution: {integrity: sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==} + hasBin: true + + joi@17.13.1: + resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + + launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + loader-utils@3.3.1: + resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} + engines: {node: '>= 12.13.0'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lucide-react@0.394.0: + resolution: {integrity: sha512-PzTbJ0bsyXRhH59k5qe7MpTd5MxlpYZUcM9kGSwvPGAfnn0J6FElDwu2EX6Vuh//F7y60rcVJiFQ7EK9DCMgfw==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + + mdast-util-mdx-jsx@3.1.2: + resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-directive@3.0.0: + resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + + micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + + micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + + micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + + micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + mime-db@1.33.0: + resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} + engines: {node: '>= 0.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.18: + resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + mini-css-extract-plugin@2.9.0: + resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + + path-to-regexp@2.2.1: + resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + + postcss-calc@9.0.1: + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + + postcss-colormin@6.1.0: + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-convert-values@6.1.0: + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-comments@6.0.2: + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-duplicates@6.0.3: + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-empty@6.0.3: + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-overridden@6.0.2: + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-discard-unused@6.0.5: + resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-loader@7.3.4: + resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-merge-idents@6.0.3: + resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-longhand@6.0.5: + resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-merge-rules@6.1.1: + resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-font-values@6.1.0: + resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-gradients@6.0.3: + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-params@6.1.0: + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-minify-selectors@6.0.4: + resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.0.5: + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.0: + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-nested@6.0.1: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-normalize-charset@6.0.2: + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-display-values@6.0.2: + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-positions@6.0.2: + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-repeat-style@6.0.2: + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-string@6.0.2: + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-timing-functions@6.0.2: + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-unicode@6.1.0: + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-url@6.0.2: + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-normalize-whitespace@6.0.2: + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-ordered-values@6.0.2: + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-idents@6.0.3: + resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-initial@6.1.0: + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-reduce-transforms@6.0.2: + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} + + postcss-sort-media-queries@5.2.0: + resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.4.23 + + postcss-svgo@6.0.3: + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + + postcss-unique-selectors@6.0.4: + resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss-zindex@6.0.2: + resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + prettier@3.3.1: + resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==} + engines: {node: '>=14'} + hasBin: true + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + + prism-react-renderer@2.3.1: + resolution: {integrity: sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==} + peerDependencies: + react: '>=16.0.0' + + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} + + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.0: + resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} + engines: {node: '>= 0.6'} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-dev-utils@12.0.1: + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-error-overlay@6.0.11: + resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} + + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + react-helmet-async@1.3.0: + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + + react-helmet-async@2.0.5: + resolution: {integrity: sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-json-view-lite@1.4.0: + resolution: {integrity: sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==} + engines: {node: '>=14'} + peerDependencies: + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + + react-loadable-ssr-addon-v5-slorber@1.0.1: + resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} + engines: {node: '>=10.13.0'} + peerDependencies: + react-loadable: '*' + webpack: '>=4.41.1 || 5.x' + + react-router-config@5.1.1: + resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} + peerDependencies: + react: '>=15' + react-router: '>=5' + + react-router-dom@5.3.4: + resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} + peerDependencies: + react: '>=15' + + react-router@5.3.4: + resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} + peerDependencies: + react: '>=15' + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + reading-time@1.5.0: + resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + + registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + + remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-mdx@3.0.1: + resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-like@0.1.2: + resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rtl-detect@1.1.2: + resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} + + rtlcss@4.1.1: + resolution: {integrity: sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==} + engines: {node: '>=12.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + schema-utils@2.7.0: + resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} + engines: {node: '>= 8.9.0'} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + + search-insights@2.14.0: + resolution: {integrity: sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-handler@6.1.5: + resolution: {integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.2: + resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sort-css-media-queries@2.2.0: + resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} + engines: {node: '>= 6.3.0'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.6: + resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} + + stylehacks@6.1.1: + resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + + tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.31.0: + resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==} + engines: {node: '>=10'} + hasBin: true + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-loader@4.1.1: + resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack@5.91.0: + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + webpackbar@5.0.2: + resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} + engines: {node: '>=12'} + peerDependencies: + webpack: 3 || 4 || 5 + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.17.0: + resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + 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 + + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + engines: {node: '>= 14'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + search-insights: 2.14.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + dependencies: + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.3 + + '@algolia/cache-browser-local-storage@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/cache-common@4.23.3': {} + + '@algolia/cache-in-memory@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + + '@algolia/client-account@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-analytics@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-common@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-personalization@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-search@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/events@4.0.1': {} + + '@algolia/logger-common@4.23.3': {} + + '@algolia/logger-console@4.23.3': + dependencies: + '@algolia/logger-common': 4.23.3 + + '@algolia/recommend@4.23.3': + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/requester-browser-xhr@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/requester-common@4.23.3': {} + + '@algolia/requester-node-http@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + + '@algolia/transporter@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.24.7': {} + + '@babel/core@7.24.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-compilation-targets@7.24.7': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + debug: 4.3.5 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-member-expression-to-functions@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-plugin-utils@7.24.7': {} + + '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-wrap-function': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-string-parser@7.24.7': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.7': {} + + '@babel/helper-wrap-function@7.24.7': + dependencies: + '@babel/helper-function-name': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-split-export-declaration': 7.24.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/template': 7.24.7 + + '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + + '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-constant-elements@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/preset-env@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/types': 7.24.7 + esutils: 2.0.3 + + '@babel/preset-react@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + '@babel/regjsgen@0.8.0': {} + + '@babel/runtime-corejs3@7.24.7': + dependencies: + core-js-pure: 3.37.1 + regenerator-runtime: 0.14.1 + + '@babel/runtime@7.24.7': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/traverse@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.7': + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@colors/colors@1.5.0': + optional: true + + '@discoveryjs/json-ext@0.5.7': {} + + '@docsearch/css@3.6.0': {} + + '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)': + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@docsearch/css': 3.6.0 + algoliasearch: 4.23.3 + optionalDependencies: + '@types/react': 18.3.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + search-insights: 2.14.0 + transitivePeerDependencies: + - '@algolia/client-search' + + '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.7) + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@babel/preset-react': 7.24.7(@babel/core@7.24.7) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/runtime': 7.24.7 + '@babel/runtime-corejs3': 7.24.7 + '@babel/traverse': 7.24.7 + '@docusaurus/cssnano-preset': 3.4.0 + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + autoprefixer: 10.4.19(postcss@8.4.38) + babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.91.0) + babel-plugin-dynamic-import-node: 2.3.3 + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + clean-css: 5.3.3 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + copy-webpack-plugin: 11.0.0(webpack@5.91.0) + core-js: 3.37.1 + css-loader: 6.11.0(webpack@5.91.0) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.91.0) + cssnano: 6.1.2(postcss@8.4.38) + del: 6.1.1 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + file-loader: 6.2.0(webpack@5.91.0) + fs-extra: 11.2.0 + html-minifier-terser: 7.2.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.0(webpack@5.91.0) + leven: 3.1.0 + lodash: 4.17.21 + mini-css-extract-plugin: 2.9.0(webpack@5.91.0) + p-map: 4.0.0 + postcss: 8.4.38 + postcss-loader: 7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.91.0) + prompts: 2.4.2 + react: 18.3.1 + react-dev-utils: 12.0.1(typescript@5.2.2)(webpack@5.91.0) + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.91.0) + react-router: 5.3.4(react@18.3.1) + react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtl-detect: 1.1.2 + semver: 7.6.2 + serve-handler: 6.1.5 + shelljs: 0.8.5 + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + tslib: 2.6.3 + update-notifier: 6.0.2 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) + webpack: 5.91.0 + webpack-bundle-analyzer: 4.10.2 + webpack-dev-server: 4.15.2(webpack@5.91.0) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.91.0) + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/cssnano-preset@3.4.0': + dependencies: + cssnano-preset-advanced: 6.1.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-sort-media-queries: 5.2.0(postcss@8.4.38) + tslib: 2.6.3 + + '@docusaurus/logger@3.4.0': + dependencies: + chalk: 4.1.2 + tslib: 2.6.3 + + '@docusaurus/mdx-loader@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@mdx-js/mdx': 3.0.1 + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.1.1 + file-loader: 6.2.0(webpack@5.91.0) + fs-extra: 11.2.0 + image-size: 1.1.1 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-raw: 7.0.0 + remark-directive: 3.0.0 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 + stringify-object: 3.3.0 + tslib: 2.6.3 + unified: 11.0.4 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) + vfile: 6.0.1 + webpack: 5.91.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/module-type-aliases@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router-config': 5.0.11 + '@types/react-router-dom': 5.3.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 2.0.5(react@18.3.1) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/plugin-content-blog@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + cheerio: 1.0.0-rc.12 + feed: 4.2.2 + fs-extra: 11.2.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + reading-time: 1.5.0 + srcset: 4.0.0 + tslib: 2.6.3 + unist-util-visit: 5.0.0 + utility-types: 3.11.0 + webpack: 5.91.0 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-docs@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/logger': 3.4.0 + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.2.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + utility-types: 3.11.0 + webpack: 5.91.0 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-pages@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + webpack: 5.91.0 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-debug@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-json-view-lite: 1.4.0(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-analytics@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-gtag@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@types/gtag.js': 0.0.12 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-google-tag-manager@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-sitemap@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/logger': 3.4.0 + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + sitemap: 7.1.2 + tslib: 2.6.3 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-debug': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-google-analytics': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-google-gtag': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-google-tag-manager': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-sitemap': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-classic': 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.23.3)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2) + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@algolia/client-search' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/react-loadable@6.0.0(react@18.3.1)': + dependencies: + '@types/react': 18.3.3 + react: 18.3.1 + + '@docusaurus/theme-classic@3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-translations': 3.4.0 + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) + clsx: 2.1.1 + copy-text-to-clipboard: 3.2.0 + infima: 0.2.0-alpha.43 + lodash: 4.17.21 + nprogress: 0.2.0 + postcss: 8.4.38 + prism-react-renderer: 2.3.1(react@18.3.1) + prismjs: 1.29.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router-dom: 5.3.4(react@18.3.1) + rtlcss: 4.1.1 + tslib: 2.6.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + dependencies: + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router-config': 5.0.11 + clsx: 2.1.1 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.3.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.23.3)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2)': + dependencies: + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/logger': 3.4.0 + '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-translations': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + algoliasearch: 4.23.3 + algoliasearch-helper: 3.21.0(algoliasearch@4.23.3) + clsx: 2.1.1 + eta: 2.2.0 + fs-extra: 11.2.0 + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@algolia/client-search' + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@types/react' + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - search-insights + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/theme-translations@3.4.0': + dependencies: + fs-extra: 11.2.0 + tslib: 2.6.3 + + '@docusaurus/tsconfig@3.4.0': {} + + '@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@mdx-js/mdx': 3.0.1 + '@types/history': 4.7.11 + '@types/react': 18.3.3 + commander: 5.1.0 + joi: 17.13.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + utility-types: 3.11.0 + webpack: 5.91.0 + webpack-merge: 5.10.0 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@docusaurus/utils-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + tslib: 2.6.3 + optionalDependencies: + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@docusaurus/utils-validation@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2)': + dependencies: + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + fs-extra: 11.2.0 + joi: 17.13.1 + js-yaml: 4.1.0 + lodash: 4.17.21 + tslib: 2.6.3 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2)': + dependencies: + '@docusaurus/logger': 3.4.0 + '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@svgr/webpack': 8.1.0(typescript@5.2.2) + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.91.0) + fs-extra: 11.2.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + jiti: 1.21.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.7 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.6.3 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) + utility-types: 3.11.0 + webpack: 5.91.0 + optionalDependencies: + '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.14.2 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@mdx-js/mdx@3.0.1': + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + source-map: 0.7.4 + unified: 11.0.4 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + '@mdx-js/react@3.0.1(@types/react@18.3.3)(react@18.3.1)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 18.3.3 + react: 18.3.1 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.2.2': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + + '@polka/url@1.0.0-next.25': {} + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.27.8': {} + + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@5.6.0': {} + + '@slorber/remark-comment@1.0.0': + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + + '@svgr/babel-preset@8.1.0(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.7) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.7) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.7) + + '@svgr/core@8.1.0(typescript@5.2.2)': + dependencies: + '@babel/core': 7.24.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.2.2) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.24.7 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.2.2))': + dependencies: + '@babel/core': 7.24.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) + '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.2.2))(typescript@5.2.2)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.2.2) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(typescript@5.2.2)': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-constant-elements': 7.24.7(@babel/core@7.24.7) + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@babel/preset-react': 7.24.7(@babel/core@7.24.7) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.2.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.2.2))(typescript@5.2.2) + transitivePeerDependencies: + - supports-color + - typescript + + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + + '@trysound/sax@0.2.0': {} + + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.5 + + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.14.2 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 20.14.2 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 4.19.3 + '@types/node': 20.14.2 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.14.2 + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 8.56.10 + '@types/estree': 1.0.5 + + '@types/eslint@8.56.10': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.5 + + '@types/estree@1.0.5': {} + + '@types/express-serve-static-core@4.19.3': + dependencies: + '@types/node': 20.14.2 + '@types/qs': 6.9.15 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.3 + '@types/qs': 6.9.15 + '@types/serve-static': 1.15.7 + + '@types/gtag.js@0.0.12': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/history@4.7.11': {} + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-cache-semantics@4.0.4': {} + + '@types/http-errors@2.0.4': {} + + '@types/http-proxy@1.17.14': + dependencies: + '@types/node': 20.14.2 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/mdx@2.0.13': {} + + '@types/mime@1.3.5': {} + + '@types/ms@0.7.34': {} + + '@types/node-forge@1.3.11': + dependencies: + '@types/node': 20.14.2 + + '@types/node@17.0.45': {} + + '@types/node@20.14.2': + dependencies: + undici-types: 5.26.5 + + '@types/parse-json@4.0.2': {} + + '@types/prismjs@1.26.4': {} + + '@types/prop-types@15.7.12': {} + + '@types/qs@6.9.15': {} + + '@types/range-parser@1.2.7': {} + + '@types/react-router-config@5.0.11': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router': 5.1.20 + + '@types/react-router-dom@5.3.3': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.3 + '@types/react-router': 5.1.20 + + '@types/react-router@5.1.20': + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.3.3 + + '@types/react@18.3.3': + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + + '@types/retry@0.12.0': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.14.2 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.21 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 20.14.2 + '@types/send': 0.17.4 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 20.14.2 + + '@types/unist@2.0.10': {} + + '@types/unist@3.0.2': {} + + '@types/ws@8.5.10': + dependencies: + '@types/node': 20.14.2 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.32': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@ungap/structured-clone@1.2.0': {} + + '@webassemblyjs/ast@1.12.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + + '@webassemblyjs/helper-api-error@1.11.6': {} + + '@webassemblyjs/helper-buffer@1.12.1': {} + + '@webassemblyjs/helper-numbers@1.11.6': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + + '@webassemblyjs/helper-wasm-section@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 + + '@webassemblyjs/ieee754@1.11.6': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.11.6': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.11.6': {} + + '@webassemblyjs/wasm-edit@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 + + '@webassemblyjs/wasm-gen@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wasm-opt@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + + '@webassemblyjs/wasm-parser@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + '@webassemblyjs/wast-printer@1.12.1': + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-assertions@1.9.0(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-walk@8.3.2: {} + + acorn@8.11.3: {} + + address@1.2.2: {} + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.16.0): + optionalDependencies: + ajv: 8.16.0 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.16.0): + dependencies: + ajv: 8.16.0 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.16.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + algoliasearch-helper@3.21.0(algoliasearch@4.23.3): + dependencies: + '@algolia/events': 4.0.1 + algoliasearch: 4.23.3 + + algoliasearch@4.23.3: + dependencies: + '@algolia/cache-browser-local-storage': 4.23.3 + '@algolia/cache-common': 4.23.3 + '@algolia/cache-in-memory': 4.23.3 + '@algolia/client-account': 4.23.3 + '@algolia/client-analytics': 4.23.3 + '@algolia/client-common': 4.23.3 + '@algolia/client-personalization': 4.23.3 + '@algolia/client-search': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/logger-console': 4.23.3 + '@algolia/recommend': 4.23.3 + '@algolia/requester-browser-xhr': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/requester-node-http': 4.23.3 + '@algolia/transporter': 4.23.3 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-html-community@0.0.8: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-flatten@1.1.1: {} + + array-union@2.1.0: {} + + astring@1.8.6: {} + + at-least-node@1.0.0: {} + + autoprefixer@10.4.19(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001628 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.1 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.91.0): + dependencies: + '@babel/core': 7.24.7 + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.91.0 + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.5 + + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + batch@0.6.1: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.2: + 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.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.2.1: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + boxen@6.2.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.0: + dependencies: + caniuse-lite: 1.0.30001628 + electron-to-chromium: 1.4.790 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.0) + + buffer-from@1.1.2: {} + + bytes@3.0.0: {} + + bytes@3.1.2: {} + + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.1 + responselike: 3.0.0 + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.3 + + camelcase-css@2.0.1: {} + + camelcase@6.3.0: {} + + camelcase@7.0.1: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001628 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001628: {} + + ccount@2.0.1: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + char-regex@1.0.2: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clean-stack@2.2.0: {} + + cli-boxes@3.0.0: {} + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + combine-promises@1.2.0: {} + + comma-separated-tokens@2.0.3: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@5.1.0: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + common-path-prefix@3.0.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.52.0 + + compression@1.7.4: + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + configstore@6.0.0: + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + + connect-history-api-fallback@2.0.0: {} + + consola@2.15.3: {} + + content-disposition@0.5.2: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.6: {} + + cookie@0.6.0: {} + + copy-text-to-clipboard@3.2.0: {} + + copy-webpack-plugin@11.0.0(webpack@5.91.0): + dependencies: + fast-glob: 3.3.2 + glob-parent: 6.0.2 + globby: 13.2.2 + normalize-path: 3.0.0 + schema-utils: 4.2.0 + serialize-javascript: 6.0.2 + webpack: 5.91.0 + + core-js-compat@3.37.1: + dependencies: + browserslist: 4.23.0 + + core-js-pure@3.37.1: {} + + core-js@3.37.1: {} + + core-util-is@1.0.3: {} + + cosmiconfig@6.0.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + + cosmiconfig@8.3.6(typescript@5.2.2): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.2.2 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + + css-declaration-sorter@7.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + css-loader@6.11.0(webpack@5.91.0): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) + postcss-value-parser: 4.2.0 + semver: 7.6.2 + optionalDependencies: + webpack: 5.91.0 + + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.91.0): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + cssnano: 6.1.2(postcss@8.4.38) + jest-worker: 29.7.0 + postcss: 8.4.38 + schema-utils: 4.2.0 + serialize-javascript: 6.0.2 + webpack: 5.91.0 + optionalDependencies: + clean-css: 5.3.3 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.0 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + + css-what@6.1.0: {} + + cssesc@3.0.0: {} + + cssnano-preset-advanced@6.1.2(postcss@8.4.38): + dependencies: + autoprefixer: 10.4.19(postcss@8.4.38) + browserslist: 4.23.0 + cssnano-preset-default: 6.1.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-discard-unused: 6.0.5(postcss@8.4.38) + postcss-merge-idents: 6.0.3(postcss@8.4.38) + postcss-reduce-idents: 6.0.3(postcss@8.4.38) + postcss-zindex: 6.0.2(postcss@8.4.38) + + cssnano-preset-default@6.1.2(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + css-declaration-sorter: 7.2.0(postcss@8.4.38) + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-calc: 9.0.1(postcss@8.4.38) + postcss-colormin: 6.1.0(postcss@8.4.38) + postcss-convert-values: 6.1.0(postcss@8.4.38) + postcss-discard-comments: 6.0.2(postcss@8.4.38) + postcss-discard-duplicates: 6.0.3(postcss@8.4.38) + postcss-discard-empty: 6.0.3(postcss@8.4.38) + postcss-discard-overridden: 6.0.2(postcss@8.4.38) + postcss-merge-longhand: 6.0.5(postcss@8.4.38) + postcss-merge-rules: 6.1.1(postcss@8.4.38) + postcss-minify-font-values: 6.1.0(postcss@8.4.38) + postcss-minify-gradients: 6.0.3(postcss@8.4.38) + postcss-minify-params: 6.1.0(postcss@8.4.38) + postcss-minify-selectors: 6.0.4(postcss@8.4.38) + postcss-normalize-charset: 6.0.2(postcss@8.4.38) + postcss-normalize-display-values: 6.0.2(postcss@8.4.38) + postcss-normalize-positions: 6.0.2(postcss@8.4.38) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.38) + postcss-normalize-string: 6.0.2(postcss@8.4.38) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.38) + postcss-normalize-unicode: 6.1.0(postcss@8.4.38) + postcss-normalize-url: 6.0.2(postcss@8.4.38) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.38) + postcss-ordered-values: 6.0.2(postcss@8.4.38) + postcss-reduce-initial: 6.1.0(postcss@8.4.38) + postcss-reduce-transforms: 6.0.2(postcss@8.4.38) + postcss-svgo: 6.0.3(postcss@8.4.38) + postcss-unique-selectors: 6.0.4(postcss@8.4.38) + + cssnano-utils@4.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + cssnano@6.1.2(postcss@8.4.38): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.4.38) + lilconfig: 3.1.1 + postcss: 8.4.38 + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.1.3: {} + + debounce@1.2.1: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.3.5: + dependencies: + ms: 2.1.2 + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deepmerge@4.3.1: {} + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + del@6.1.1: + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + + depd@1.1.2: {} + + depd@2.0.0: {} + + dequal@2.0.3: {} + + destroy@1.2.0: {} + + detect-node@2.1.0: {} + + detect-port-alt@1.1.6: + dependencies: + address: 1.2.2 + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + + detect-port@1.6.1: + dependencies: + address: 1.2.2 + debug: 4.3.5 + transitivePeerDependencies: + - supports-color + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + didyoumean@1.2.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dlv@1.1.3: {} + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.6.3 + + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.4.790: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojilib@2.4.0: {} + + emojis-list@3.0.0: {} + + emoticon@4.0.1: {} + + encodeurl@1.0.2: {} + + enhanced-resolve@5.17.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + entities@2.2.0: {} + + entities@4.5.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-module-lexer@1.5.3: {} + + escalade@3.1.2: {} + + escape-goat@4.0.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esprima@4.0.1: {} + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.5 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.8.6 + source-map: 0.7.4 + + estree-util-value-to-estree@3.1.1: + dependencies: + '@types/estree': 1.0.5 + is-plain-obj: 4.1.0 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.2 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + esutils@2.0.3: {} + + eta@2.2.0: {} + + etag@1.8.1: {} + + eval@0.1.8: + dependencies: + '@types/node': 20.14.2 + require-like: 0.1.2 + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + express@4.19.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.2 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.6.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.7 + + fast-json-stable-stringify@2.1.0: {} + + fast-url-parser@1.1.3: + dependencies: + punycode: 1.4.1 + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + feed@4.2.2: + dependencies: + xml-js: 1.6.11 + + file-loader@6.2.0(webpack@5.91.0): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.91.0 + + filesize@8.0.7: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.2.0: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@4.0.0: + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@6.3.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + + flat@5.0.2: {} + + follow-redirects@1.15.6: {} + + foreground-child@3.2.1: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.2.2)(webpack@5.91.0): + dependencies: + '@babel/code-frame': 7.24.7 + '@types/json-schema': 7.0.15 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.3 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.6.2 + tapable: 1.1.3 + typescript: 5.2.2 + webpack: 5.91.0 + + form-data-encoder@2.1.4: {} + + format@0.2.2: {} + + forwarded@0.2.0: {} + + fraction.js@4.3.7: {} + + fresh@0.5.2: {} + + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-monkey@1.0.6: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-own-enumerable-property-symbols@3.0.2: {} + + get-stream@6.0.1: {} + + github-slugger@1.5.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.4.2: + dependencies: + foreground-child: 3.2.1 + jackspeak: 3.4.0 + minimatch: 9.0.4 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + + global-modules@2.0.0: + dependencies: + global-prefix: 3.0.0 + + global-prefix@3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + + globals@11.12.0: {} + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + + globby@13.2.2: + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 4.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + + graceful-fs@4.2.11: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + handle-thing@2.0.1: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-yarn@3.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-from-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.5.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.1.0 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.0: + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.0: + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.6 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + he@1.2.0: {} + + history@4.10.1: + dependencies: + '@babel/runtime': 7.24.7 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-entities@2.5.2: {} + + html-escaper@2.0.2: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.31.0 + + html-minifier-terser@7.2.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.31.0 + + html-tags@3.3.1: {} + + html-void-elements@3.0.0: {} + + html-webpack-plugin@5.6.0(webpack@5.91.0): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + optionalDependencies: + webpack: 5.91.0 + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + + http-cache-semantics@4.1.1: {} + + http-deceiver@1.2.7: {} + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-parser-js@0.5.8: {} + + http-proxy-middleware@2.0.6(@types/express@4.17.21): + dependencies: + '@types/http-proxy': 1.17.14 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.7 + optionalDependencies: + '@types/express': 4.17.21 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.6 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + ignore@5.3.1: {} + + image-size@1.1.1: + dependencies: + queue: 6.0.2 + + immer@9.0.21: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-lazy@4.0.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infima@0.2.0-alpha.43: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@2.0.0: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.3: {} + + interpret@1.4.0: {} + + invariant@2.2.4: + dependencies: + loose-envify: 1.4.0 + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + + is-core-module@2.13.1: + dependencies: + hasown: 2.0.2 + + is-decimal@2.0.1: {} + + is-docker@2.2.1: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-installed-globally@0.4.0: + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + is-npm@6.0.0: {} + + is-number@7.0.0: {} + + is-obj@1.0.1: {} + + is-obj@2.0.0: {} + + is-path-cwd@2.2.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-reference@3.0.2: + dependencies: + '@types/estree': 1.0.5 + + is-regexp@1.0.0: {} + + is-root@2.1.0: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + is-yarn-global@0.4.1: {} + + isarray@0.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + jackspeak@3.4.0: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-worker@27.5.1: + dependencies: + '@types/node': 20.14.2 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + '@types/node': 20.14.2 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jiti@1.21.3: {} + + joi@17.13.1: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + latest-version@7.0.0: + dependencies: + package-json: 8.1.1 + + launch-editor@2.6.1: + dependencies: + picocolors: 1.0.1 + shell-quote: 1.8.1 + + leven@3.1.0: {} + + lilconfig@2.1.0: {} + + lilconfig@3.1.1: {} + + lines-and-columns@1.2.4: {} + + loader-runner@4.3.0: {} + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + loader-utils@3.3.1: {} + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.debounce@4.0.8: {} + + lodash.memoize@4.1.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.17.21: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.6.3 + + lowercase-keys@3.0.0: {} + + lru-cache@10.2.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lucide-react@0.394.0(react@18.3.1): + dependencies: + react: 18.3.1 + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.3: {} + + mdast-util-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.2: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-remove-position: 5.0.0 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.0.6 + + merge-descriptors@1.0.1: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + micromark-core-commonmark@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-directive@3.0.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-autolink-literal@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-expression@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-jsx@3.0.0: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-mdx-expression@2.0.1: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-events-to-acorn@2.0.2: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@1.1.0: {} + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@1.1.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.5 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.33.0: {} + + mime-db@1.52.0: {} + + mime-types@2.1.18: + dependencies: + mime-db: 1.33.0 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + + mini-css-extract-plugin@2.9.0(webpack@5.91.0): + dependencies: + schema-utils: 4.2.0 + tapable: 2.2.1 + webpack: 5.91.0 + + minimalistic-assert@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mrmime@2.0.0: {} + + ms@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.7: {} + + negotiator@0.6.3: {} + + neo-async@2.6.2: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.6.3 + + node-emoji@2.1.3: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + + node-forge@1.3.1: {} + + node-releases@2.0.14: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + normalize-url@8.0.1: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + object-inspect@1.13.1: {} + + object-keys@1.1.1: {} + + object.assign@4.1.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + obuf@1.1.2: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.0.2: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + opener@1.5.2: {} + + p-cancelable@3.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.0.0 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.0: {} + + package-json@8.1.1: + dependencies: + got: 12.6.1 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.6.2 + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.6.3 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.1: + dependencies: + '@types/unist': 2.0.10 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-numeric-range@1.3.0: {} + + parse5-htmlparser2-tree-adapter@7.0.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + + parse5@7.1.2: + dependencies: + entities: 4.5.0 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.6.3 + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-is-inside@1.0.2: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.2.2 + minipass: 7.1.2 + + path-to-regexp@0.1.7: {} + + path-to-regexp@1.8.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@2.2.1: {} + + path-type@4.0.0: {} + + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + pify@2.3.0: {} + + pirates@4.0.6: {} + + pkg-dir@7.0.0: + dependencies: + find-up: 6.3.0 + + pkg-up@3.1.0: + dependencies: + find-up: 3.0.0 + + postcss-calc@9.0.1(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + postcss-value-parser: 4.2.0 + + postcss-colormin@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-convert-values@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-discard-comments@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-duplicates@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-empty@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-overridden@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-discard-unused@6.0.5(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-import@15.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.38): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.38 + + postcss-load-config@4.0.2(postcss@8.4.38): + dependencies: + lilconfig: 3.1.1 + yaml: 2.4.5 + optionalDependencies: + postcss: 8.4.38 + + postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.91.0): + dependencies: + cosmiconfig: 8.3.6(typescript@5.2.2) + jiti: 1.21.3 + postcss: 8.4.38 + semver: 7.6.2 + webpack: 5.91.0 + transitivePeerDependencies: + - typescript + + postcss-merge-idents@6.0.3(postcss@8.4.38): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-merge-longhand@6.0.5(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.1(postcss@8.4.38) + + postcss-merge-rules@6.1.1(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-minify-font-values@6.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@6.0.3(postcss@8.4.38): + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-params@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@6.0.4(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-modules-values@4.0.0(postcss@8.4.38): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + + postcss-nested@6.0.1(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-normalize-charset@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss-normalize-display-values@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-ordered-values@6.0.2(postcss@8.4.38): + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.38) + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-reduce-idents@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-reduce-initial@6.1.0(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + postcss: 8.4.38 + + postcss-reduce-transforms@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + + postcss-selector-parser@6.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sort-media-queries@5.2.0(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + sort-css-media-queries: 2.2.0 + + postcss-svgo@6.0.3(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + svgo: 3.3.2 + + postcss-unique-selectors@6.0.4(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-value-parser@4.2.0: {} + + postcss-zindex@6.0.2(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + + postcss@8.4.38: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + + prettier@3.3.1: {} + + pretty-error@4.0.0: + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + + pretty-time@1.1.0: {} + + prism-react-renderer@2.3.1(react@18.3.1): + dependencies: + '@types/prismjs': 1.26.4 + clsx: 2.1.1 + react: 18.3.1 + + prismjs@1.29.0: {} + + process-nextick-args@2.0.1: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@6.5.0: {} + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + punycode@1.4.1: {} + + punycode@2.3.1: {} + + pupa@3.1.0: + dependencies: + escape-goat: 4.0.0 + + qs@6.11.0: + dependencies: + side-channel: 1.0.6 + + queue-microtask@1.2.3: {} + + queue@6.0.2: + dependencies: + inherits: 2.0.4 + + quick-lru@5.1.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.0: {} + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + react-dev-utils@12.0.1(typescript@5.2.2)(webpack@5.91.0): + dependencies: + '@babel/code-frame': 7.24.7 + address: 1.2.2 + browserslist: 4.23.0 + chalk: 4.1.2 + cross-spawn: 7.0.3 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.2.2)(webpack@5.91.0) + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.3.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.0.11 + recursive-readdir: 2.2.3 + shell-quote: 1.8.1 + strip-ansi: 6.0.1 + text-table: 0.2.0 + webpack: 5.91.0 + optionalDependencies: + typescript: 5.2.2 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-error-overlay@6.0.11: {} + + react-fast-compare@3.2.2: {} + + react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-helmet-async@2.0.5(react@18.3.1): + dependencies: + invariant: 2.2.4 + react: 18.3.1 + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-is@16.13.1: {} + + react-json-view-lite@1.4.0(react@18.3.1): + dependencies: + react: 18.3.1 + + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.91.0): + dependencies: + '@babel/runtime': 7.24.7 + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' + webpack: 5.91.0 + + react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) + + react-router-dom@5.3.4(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + history: 4.10.1 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.3.1 + react-router: 5.3.4(react@18.3.1) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react-router@5.3.4(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + history: 4.10.1 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + path-to-regexp: 1.8.0 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 16.13.1 + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + reading-time@1.5.0: {} + + rechoir@0.6.2: + dependencies: + resolve: 1.22.8 + + recursive-readdir@2.2.3: + dependencies: + minimatch: 3.1.2 + + regenerate-unicode-properties@10.1.1: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.24.7 + + regexpu-core@5.3.2: + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + registry-auth-token@5.0.2: + dependencies: + '@pnpm/npm-conf': 2.2.2 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + regjsparser@0.9.1: + dependencies: + jsesc: 0.5.0 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.0.3 + vfile: 6.0.1 + + relateurl@0.2.7: {} + + remark-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-emoji@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + emoticon: 4.0.1 + mdast-util-find-and-replace: 3.0.1 + node-emoji: 2.1.3 + unified: 11.0.4 + + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.0.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + micromark-util-types: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.1.0 + unified: 11.0.4 + vfile: 6.0.1 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + + require-from-string@2.0.2: {} + + require-like@0.1.2: {} + + requires-port@1.0.0: {} + + resolve-alpn@1.2.1: {} + + resolve-from@4.0.0: {} + + resolve-pathname@3.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + + retry@0.13.1: {} + + reusify@1.0.4: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rtl-detect@1.1.2: {} + + rtlcss@4.1.1: + dependencies: + escalade: 3.1.2 + picocolors: 1.0.1 + postcss: 8.4.38 + strip-json-comments: 3.1.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sax@1.4.1: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + schema-utils@2.7.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@4.2.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.16.0 + ajv-formats: 2.1.1(ajv@8.16.0) + ajv-keywords: 5.1.0(ajv@8.16.0) + + search-insights@2.14.0: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + select-hose@2.0.0: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + + semver-diff@4.0.0: + dependencies: + semver: 7.6.2 + + semver@6.3.1: {} + + semver@7.6.2: {} + + send@0.18.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-handler@6.1.5: + dependencies: + bytes: 3.0.0 + content-disposition: 0.5.2 + fast-url-parser: 1.1.3 + mime-types: 2.1.18 + minimatch: 3.1.2 + path-is-inside: 1.0.2 + path-to-regexp: 2.2.1 + range-parser: 1.2.0 + + serve-index@1.9.1: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.15.0: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + 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 + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shallowequal@1.1.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.1: {} + + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + sitemap@7.1.2: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.4.1 + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.6.3 + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + + sort-css-media-queries@2.2.0: {} + + source-map-js@1.2.0: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.3.5 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.3.5 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + sprintf-js@1.0.3: {} + + srcset@4.0.0: {} + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + std-env@3.7.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + stringify-object@3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-bom-string@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.6: + dependencies: + inline-style-parser: 0.2.3 + + stylehacks@6.1.1(postcss@8.4.38): + dependencies: + browserslist: 4.23.0 + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.4.2 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.0.1 + + tailwindcss@3.4.4: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.3 + lilconfig: 2.1.0 + micromatch: 4.0.7 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.1 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.1.0 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + tapable@1.1.3: {} + + tapable@2.2.1: {} + + terser-webpack-plugin@5.3.10(webpack@5.91.0): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.31.0 + webpack: 5.91.0 + + terser@5.31.0: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + + text-table@0.2.0: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + thunky@1.1.0: {} + + tiny-invariant@1.3.3: {} + + tiny-warning@1.0.3: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + totalist@3.0.1: {} + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-interface-checker@0.1.13: {} + + tslib@2.6.3: {} + + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@5.2.2: {} + + undici-types@5.26.5: {} + + unicode-canonical-property-names-ecmascript@2.0.0: {} + + unicode-emoji-modifier-base@1.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.1.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unified@11.0.4: + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.1 + + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.0.16(browserslist@4.23.0): + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.1 + + update-notifier@6.0.2: + dependencies: + boxen: 7.1.1 + chalk: 5.3.0 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 + semver: 7.6.2 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-loader@4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0): + dependencies: + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 3.3.0 + webpack: 5.91.0 + optionalDependencies: + file-loader: 6.2.0(webpack@5.91.0) + + util-deprecate@1.0.2: {} + + utila@0.4.0: {} + + utility-types@3.11.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + value-equal@1.0.1: {} + + vary@1.1.2: {} + + vfile-location@5.0.2: + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + + watchpack@2.4.1: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + web-namespaces@2.0.1: {} + + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.11.3 + acorn-walk: 8.3.2 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.0.1 + sirv: 2.0.4 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + webpack-dev-middleware@5.3.4(webpack@5.91.0): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.2.0 + webpack: 5.91.0 + + webpack-dev-server@4.15.2(webpack@5.91.0): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.10 + ansi-html-community: 0.0.8 + bonjour-service: 1.2.1 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.19.2 + graceful-fs: 4.2.11 + html-entities: 2.5.2 + http-proxy-middleware: 2.0.6(@types/express@4.17.21) + ipaddr.js: 2.2.0 + launch-editor: 2.6.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.2.0 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.91.0) + ws: 8.17.0 + optionalDependencies: + webpack: 5.91.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.2.3: {} + + webpack@5.91.0: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) + browserslist: 4.23.0 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.0 + es-module-lexer: 1.5.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + watchpack: 2.4.1 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + webpackbar@5.0.2(webpack@5.91.0): + dependencies: + chalk: 4.1.2 + consola: 2.15.3 + pretty-time: 1.1.0 + std-env: 3.7.0 + webpack: 5.91.0 + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + wildcard@2.0.1: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.9: {} + + ws@8.17.0: {} + + xdg-basedir@5.1.0: {} + + xml-js@1.6.11: + dependencies: + sax: 1.4.1 + + yallist@3.1.1: {} + + yaml@1.10.2: {} + + yaml@2.4.5: {} + + yocto-queue@0.1.0: {} + + yocto-queue@1.0.0: {} + + zwitch@2.0.4: {} diff --git a/docs/sidebars.ts b/docs/sidebars.ts new file mode 100644 index 00000000..7e3aad17 --- /dev/null +++ b/docs/sidebars.ts @@ -0,0 +1,31 @@ +import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; + +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ +const sidebars: SidebarsConfig = { + // By default, Docusaurus generates a sidebar from the docs folder structure + mainSidebar: [{ type: "autogenerated", dirName: "." }], + + // But you can create a sidebar manually + /* + mainSidebar: [ + 'intro', + 'hello', + { + type: 'category', + label: 'Tutorial', + items: ['tutorial-basics/create-a-document'], + }, + ], + */ +}; + +export default sidebars; diff --git a/docs/src/components/Card/index.tsx b/docs/src/components/Card/index.tsx new file mode 100644 index 00000000..f748b00f --- /dev/null +++ b/docs/src/components/Card/index.tsx @@ -0,0 +1,6 @@ +import styles from "./styles.modules.css"; +import clsx from "clsx"; + +export function Card({ children, className = "" }) { + return
{children}
; +} diff --git a/docs/src/components/Card/styles.modules.css b/docs/src/components/Card/styles.modules.css new file mode 100644 index 00000000..80aa268b --- /dev/null +++ b/docs/src/components/Card/styles.modules.css @@ -0,0 +1,3 @@ +.foo { + padding: 0.5rem; +} diff --git a/docs/src/components/HomepageFeatures/examples/entites/auth_code_entites.ts b/docs/src/components/HomepageFeatures/examples/entites/auth_code_entites.ts new file mode 100644 index 00000000..e69de29b diff --git a/docs/src/components/HomepageFeatures/examples/entites/client_entites.ts b/docs/src/components/HomepageFeatures/examples/entites/client_entites.ts new file mode 100644 index 00000000..e69de29b diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx new file mode 100644 index 00000000..bb62b1c2 --- /dev/null +++ b/docs/src/components/HomepageFeatures/index.tsx @@ -0,0 +1,117 @@ +import clsx from "clsx"; +import Heading from "@theme/Heading"; +import styles from "./styles.module.css"; +import CodeBlock from "@theme/CodeBlock"; + +type FeatureItem = { + title: string; + description: JSX.Element; +}; + +const FeatureList: FeatureItem[] = [ + { + title: "Implement Entities", + description: ( + <> + + {` +import { OAuthClient, OAuthAuthCode, OAuthUser, OAuthScope, GrantIdentifier, ScopeEntity, CodeChallengeMethod } from '@jmondi/oauth2-server'; + +class ClientEntity implements OAuthClient { + readonly id: string; + name: string; + secret: string | null; + redirectUris: string[]; + allowedGrants: GrantIdentifier[]; + scopes: ScopeEntity[]; + createdAt: Date; + updatedAt: Date | null; +} + `.trim()} + + + {` +import { OAuthClient, OAuthAuthCode, OAuthUser, OAuthScope, GrantIdentifier, ScopeEntity, CodeChallengeMethod } from '@jmondi/oauth2-server'; + +class ClientEntity implements OAuthClient { + readonly id: string; + name: string; + secret: string | null; + redirectUris: string[]; + allowedGrants: GrantIdentifier[]; + scopes: ScopeEntity[]; + createdAt: Date; + updatedAt: Date | null; +} + `.trim()} + + + ), + }, + { + title: "Implement Repositories", + description: ( + + {` +import { PrismaClient } from "@prisma/client"; +import { GrantIdentifier, OAuthClient, OAuthClientRepository } from "@jmondi/oauth2-server"; + +import { Client } from "../entities/client.js"; + +export class ClientRepository implements OAuthClientRepository { + constructor(private readonly prisma: PrismaClient) {} + + async getByIdentifier(clientId: string): Promise { + return await this.prisma.oAuthClient.findUniqueOrThrow({ + where: { + id: clientId, + }, + include: { + scopes: true, + }, + }); + } + + async isClientValid( + grantType: GrantIdentifier, + client: OAuthClient, + clientSecret?: string, + ): Promise { + // implement me (see examples) + } +}`.trim()} + + ), + }, + // { + // title: "Authorization Server", + // description: ( + // <> + // Built to comply with OAuth2 and OpenID Connect standards, ensuring interoperability and + // security. Supports various grant types including Authorization Code, Client Credentials, + // and Refresh Token. + // + // ), + // }, +]; + +function Feature({title, description}: FeatureItem) { + return ( +
+ {title} +
{description}
+
+ ); +} + +export default function HomepageFeatures(): JSX.Element { + return ( +
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+ ); +} diff --git a/docs/src/components/HomepageFeatures/styles.module.css b/docs/src/components/HomepageFeatures/styles.module.css new file mode 100644 index 00000000..b248eb2e --- /dev/null +++ b/docs/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,11 @@ +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureSvg { + height: 200px; + width: 200px; +} diff --git a/docs/src/components/homepage.tsx b/docs/src/components/homepage.tsx new file mode 100644 index 00000000..45e0e1be --- /dev/null +++ b/docs/src/components/homepage.tsx @@ -0,0 +1,41 @@ +import clsx from "clsx"; +import Link from "@docusaurus/Link"; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import Layout from "@theme/Layout"; +import HomepageFeatures from "@site/src/components/HomepageFeatures"; + +import Heading from "@theme/Heading"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +import styles from "./index.module.css"; + +function HomepageHeader() { + const { siteConfig } = useDocusaurusContext(); + return ( +
+
+ + @jmondi/oauth2-server + +

{siteConfig.tagline}

+
+ + Getting Started + +
+
+
+ ); +} + +export function Home() { + return ( + <> + +
+ +
+ + ); +} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 00000000..52abec96 --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,28 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #2e8555; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme="dark"] { + --ifm-color-primary: #25c2a0; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css new file mode 100644 index 00000000..32bee5d5 --- /dev/null +++ b/docs/src/pages/index.module.css @@ -0,0 +1,43 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} + +.spikes { + position: relative; + background: var(--ifm-color-primary); +} + +.spikes::after { + content: ""; + position: absolute; + right: 0; + left: -0%; + top: 100%; + z-index: 10; + display: block; + height: 50px; + background-size: 50px 100%; + background-image: linear-gradient(135deg, var(--ifm-color-primary) 25%, transparent 25%), + linear-gradient(225deg, var(--ifm-color-primary) 25%, transparent 25%); + background-position: 0 0; +} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx new file mode 100644 index 00000000..a66b53a3 --- /dev/null +++ b/docs/src/pages/index.tsx @@ -0,0 +1,63 @@ +import clsx from "clsx"; +import Link from "@docusaurus/Link"; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import Layout from "@theme/Layout"; +import HomepageFeatures from "@site/src/components/HomepageFeatures"; + +import Heading from "@theme/Heading"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +import styles from "./index.module.css"; +import CodeBlock from "@theme/CodeBlock"; +import {Card} from "@site/src/components/Card"; + +function HomepageHeader() { + const {siteConfig} = useDocusaurusContext(); + return ( +
+
+ + @jmondi/oauth2-server + +

{siteConfig.tagline}

+
+ + Getting Started + +
+
+
+ ); +} + +export default function Home() { + const {siteConfig} = useDocusaurusContext(); + return ( + + +
+ +
+
+ + + pnpm add @jmondi/oauth2-server + + + npm install --save-dev @jmondi/oauth2-server + + + yarn add @jmondi/oauth2-server + + +
+
+ + +
+ ); +} diff --git a/docs/index.md b/docs/src/pages/markdown-page.md similarity index 95% rename from docs/index.md rename to docs/src/pages/markdown-page.md index 9a71d08c..5b5c5908 100644 --- a/docs/index.md +++ b/docs/src/pages/markdown-page.md @@ -1,8 +1,8 @@ -# TypeScript OAuth2.0 Server +# TypeScript OAuth2.0 Server [🇺🇦 Support Ukraine 🇺🇦](https://war.ukraine.ua/support-ukraine/) -`@jmondi/oauth2-server` is a standards compliant implementation of an OAuth 2.0 authorization server for Node, written in TypeScript. +`@jmondi/oauth2-server` is a standards compliant implementation of an OAuth 2.0 authorization server for Node, written in TypeScript. Requires `node >= 18` @@ -11,7 +11,7 @@ Out of the box it supports the following grants: - [Authorization code grant](https://tsoauth2server.com/grants/authorization_code.html) - [Client credentials grant](https://tsoauth2server.com/grants/client_credentials.html) - [Refresh grant](https://tsoauth2server.com/grants/refresh_token.html) -- [Implicit grant](https://tsoauth2server.com/grants/implicit.html) // not recommended +- [Implicit grant](https://tsoauth2server.com/grants/implicit.html) // not recommended - [Resource owner password credentials grant](https://tsoauth2server.com/grants/password.html) // not recommended The following RFCs are implemented: diff --git a/docs/static/.nojekyll b/docs/static/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/docs/static/img/docusaurus-social-card.jpg b/docs/static/img/docusaurus-social-card.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffcb448210e1a456cb3588ae8b396a597501f187 GIT binary patch literal 55746 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 fgzs%Vr*-jYG(YMS<ttdtee# literal 0 HcmV?d00001 diff --git a/docs/static/img/docusaurus.png b/docs/static/img/docusaurus.png new file mode 100644 index 0000000000000000000000000000000000000000..f458149e3c8f53335f28fbc162ae67f55575c881 GIT binary patch literal 5142 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 F{0H{b<4^zq literal 0 HcmV?d00001 diff --git a/docs/static/img/favicon.ico b/docs/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c01d54bcd39a5f853428f3cd5aa0f383d963c484 GIT binary patch literal 3626 zcmb`Je@s(X6vrR`EK3%b%orErlDW({vnABqA zcfaS{d+xbU5JKp0*;0YOg+;Fl!eT)XRuapIwFLL`=imZCSon$`se`_<%@MB=M~KG+ z=EW^FL`w|Bo>*ktlaS^(fut!95`iG5u=SZ8nfDHO#GaTlH1-XG^;vsjUb^gWTVz0+ z^=WR1wv9-2oeR=_;fL0H7rNWqAzGtO(D;`~cX(RcN0w2v24Y8)6t`cS^_ghs`_ho? z{0ka~1Dgo8TfAP$r*ua?>$_V+kZ!-(TvEJ7O2f;Y#tezt$&R4 zLI}=-y@Z!grf*h3>}DUL{km4R>ya_I5Ag#{h_&?+HpKS!;$x3LC#CqUQ8&nM?X))Q zXAy2?`YL4FbC5CgJu(M&Q|>1st8XXLZ|5MgwgjP$m_2Vt0(J z&Gu7bOlkbGzGm2sh?X`){7w69Y$1#@P@7DF{ZE=4%T0NDS)iH`tiPSKpDNW)zmtn( zw;4$f>k)4$LBc>eBAaTZeCM2(iD+sHlj!qd z2GjRJ>f_Qes(+mnzdA^NH?^NB(^o-%Gmg$c8MNMq&`vm@9Ut;*&$xSD)PKH{wBCEC z4P9%NQ;n2s59ffMn8*5)5AAg4-93gBXBDX`A7S& zH-|%S3Wd%T79fk-e&l`{!?lve8_epXhE{d3Hn$Cg!t=-4D(t$cK~7f&4s?t7wr3ZP z*!SRQ-+tr|e1|hbc__J`k3S!rMy<0PHy&R`v#aJv?`Y?2{avK5sQz%=Us()jcNuZV z*$>auD4cEw>;t`+m>h?f?%VFJZj8D|Y1e_SjxG%J4{-AkFtT2+ZZS5UScS~%;dp!V>)7zi`w(xwSd*FS;Lml=f6hn#jq)2is4nkp+aTrV?)F6N z>DY#SU0IZ;*?Hu%tSj4edd~kYNHMFvS&5}#3-M;mBCOCZL3&;2obdG?qZ>rD|zC|Lu|sny76pn2xl|6sk~Hs{X9{8iBW zwiwgQt+@hi`FYMEhX2 \ No newline at end of file diff --git a/docs/static/img/undraw_docusaurus_mountain.svg b/docs/static/img/undraw_docusaurus_mountain.svg new file mode 100644 index 00000000..af961c49 --- /dev/null +++ b/docs/static/img/undraw_docusaurus_mountain.svg @@ -0,0 +1,171 @@ + + Easy to Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/undraw_docusaurus_react.svg b/docs/static/img/undraw_docusaurus_react.svg new file mode 100644 index 00000000..94b5cf08 --- /dev/null +++ b/docs/static/img/undraw_docusaurus_react.svg @@ -0,0 +1,170 @@ + + Powered by React + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/undraw_docusaurus_tree.svg b/docs/static/img/undraw_docusaurus_tree.svg new file mode 100644 index 00000000..d9161d33 --- /dev/null +++ b/docs/static/img/undraw_docusaurus_tree.svg @@ -0,0 +1,40 @@ + + Focus on What Matters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/tailwind-config.cjs b/docs/tailwind-config.cjs new file mode 100644 index 00000000..15d954dd --- /dev/null +++ b/docs/tailwind-config.cjs @@ -0,0 +1,15 @@ +function tailwindPlugin(context, options) { + return { + name: "tailwind-plugin", + configurePostCss(postcssOptions) { + postcssOptions.plugins = [ + require("postcss-import"), + require("tailwindcss"), + require("autoprefixer"), + ]; + return postcssOptions; + }, + }; +} + +module.exports = tailwindPlugin; diff --git a/docs/tailwind.config.js b/docs/tailwind.config.js new file mode 100644 index 00000000..118b4e0f --- /dev/null +++ b/docs/tailwind.config.js @@ -0,0 +1,29 @@ +const { fontFamily } = require("tailwindcss/defaultTheme"); + +/** @type {import('tailwindcss').Config} */ +module.exports = { + corePlugins: { + preflight: false, + container: false, + }, + darkMode: ["class", '[data-theme="dark"]'], + content: ["./src/**/*.{jsx,tsx,html}", "./docs/**/*.mdx}"], + theme: { + extend: { + fontFamily: { + sans: ['"Inter"', ...fontFamily.sans], + jakarta: ['"Plus Jakarta Sans"', ...fontFamily.sans], + mono: ['"Fira Code"', ...fontFamily.mono], + }, + borderRadius: { + sm: "4px", + }, + screens: { + sm: "0px", + lg: "997px", + }, + colors: {}, + }, + }, + plugins: [], +}; diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 00000000..314eab8a --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,7 @@ +{ + // This file is not used in compilation. It is here just for a nice editor experience. + "extends": "@docusaurus/tsconfig", + "compilerOptions": { + "baseUrl": "." + } +} diff --git a/package.json b/package.json index fbb46ecc..8a87fefe 100644 --- a/package.json +++ b/package.json @@ -15,10 +15,7 @@ "test:watch": "vitest", "test:cov": "vitest run --coverage", "format": "prettier --write \"**/*.ts\"", - "prepublishOnly": "run-s build test", - "docs:dev": "vitepress dev docs", - "docs:build": "vitepress build docs", - "docs:preview": "vitepress preview docs" + "prepublishOnly": "run-s build test" }, "exports": { ".": "./src/index.ts", @@ -81,7 +78,6 @@ "tsup": "^8.0.2", "typescript": "^5.3.3", "vite": "^5.1.1", - "vitepress": "1.0.0-rc.42", "vitest": "^1.2.2" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9cf3025..ea832a63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,7 +38,7 @@ importers: version: 6.0.2 '@vitest/coverage-istanbul': specifier: ^1.2.2 - version: 1.2.2(vitest@1.2.2) + version: 1.2.2(vitest@1.2.2(@types/node@20.11.17)) body-parser: specifier: ^1.20.2 version: 1.20.2 @@ -65,84 +65,19 @@ importers: version: 2.6.2 tsup: specifier: ^8.0.2 - version: 8.0.2(typescript@5.3.3) + version: 8.0.2(postcss@8.4.35)(typescript@5.3.3) typescript: specifier: ^5.3.3 version: 5.3.3 vite: specifier: ^5.1.1 version: 5.1.1(@types/node@20.11.17) - vitepress: - specifier: 1.0.0-rc.42 - version: 1.0.0-rc.42(@algolia/client-search@4.22.1)(@types/node@20.11.17)(search-insights@2.13.0)(typescript@5.3.3) vitest: specifier: ^1.2.2 version: 1.2.2(@types/node@20.11.17) packages: - '@algolia/autocomplete-core@1.9.3': - resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} - - '@algolia/autocomplete-plugin-algolia-insights@1.9.3': - resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} - peerDependencies: - search-insights: '>= 1 < 3' - - '@algolia/autocomplete-preset-algolia@1.9.3': - resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/autocomplete-shared@1.9.3': - resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/cache-browser-local-storage@4.22.1': - resolution: {integrity: sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==} - - '@algolia/cache-common@4.22.1': - resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==} - - '@algolia/cache-in-memory@4.22.1': - resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==} - - '@algolia/client-account@4.22.1': - resolution: {integrity: sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==} - - '@algolia/client-analytics@4.22.1': - resolution: {integrity: sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==} - - '@algolia/client-common@4.22.1': - resolution: {integrity: sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==} - - '@algolia/client-personalization@4.22.1': - resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==} - - '@algolia/client-search@4.22.1': - resolution: {integrity: sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==} - - '@algolia/logger-common@4.22.1': - resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==} - - '@algolia/logger-console@4.22.1': - resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==} - - '@algolia/requester-browser-xhr@4.22.1': - resolution: {integrity: sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==} - - '@algolia/requester-common@4.22.1': - resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==} - - '@algolia/requester-node-http@4.22.1': - resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==} - - '@algolia/transporter@4.22.1': - resolution: {integrity: sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==} - '@ampproject/remapping@2.2.1': resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} @@ -234,29 +169,6 @@ packages: resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} engines: {node: '>=6.9.0'} - '@docsearch/css@3.5.2': - resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} - - '@docsearch/js@3.5.2': - resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} - - '@docsearch/react@3.5.2': - resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} - peerDependencies: - '@types/react': '>= 16.8.0 < 19.0.0' - react: '>= 16.8.0 < 19.0.0' - react-dom: '>= 16.8.0 < 19.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true - '@esbuild/aix-ppc64@0.19.12': resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} @@ -518,12 +430,6 @@ packages: cpu: [x64] os: [win32] - '@shikijs/core@1.1.1': - resolution: {integrity: sha512-WSHuW0i4W04+UZgim378oxHBAp4S5X3hVI2zXh+t5v2fx2u/7QXz9VNisoOD/CA4O9Lc6Zs97TrKiDbWyZua6Q==} - - '@shikijs/transformers@1.1.1': - resolution: {integrity: sha512-kOGqxMWtgPxivmDB6WH/lq3oUv0FrGPleovfBCqNVYsyGwRDa01OBOqQxO6oz8a7QbdEq0fbt7CaK1yjv4epXw==} - '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -551,15 +457,6 @@ packages: '@types/jsonwebtoken@9.0.5': resolution: {integrity: sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==} - '@types/linkify-it@3.0.5': - resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} - - '@types/markdown-it@13.0.7': - resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} - - '@types/mdurl@1.0.5': - resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} - '@types/methods@1.1.4': resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} @@ -593,16 +490,6 @@ packages: '@types/supertest@6.0.2': resolution: {integrity: sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==} - '@types/web-bluetooth@0.0.20': - resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - - '@vitejs/plugin-vue@5.0.4': - resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 - vue: ^3.2.25 - '@vitest/coverage-istanbul@1.2.2': resolution: {integrity: sha512-tJybwO8JT4H9ANz0T0/tJ1M5g3BkuHKYF1w5YO3z9sAiHBdGANrxN9c5lomJx1WSnLzCxQR5xxlJ4TLKbzrR3w==} peerDependencies: @@ -623,97 +510,6 @@ packages: '@vitest/utils@1.2.2': resolution: {integrity: sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==} - '@vue/compiler-core@3.4.18': - resolution: {integrity: sha512-F7YK8lMK0iv6b9/Gdk15A67wM0KKZvxDxed0RR60C1z9tIJTKta+urs4j0RTN5XqHISzI3etN3mX0uHhjmoqjQ==} - - '@vue/compiler-dom@3.4.18': - resolution: {integrity: sha512-24Eb8lcMfInefvQ6YlEVS18w5Q66f4+uXWVA+yb7praKbyjHRNuKVWGuinfSSjM0ZIiPi++QWukhkgznBaqpEA==} - - '@vue/compiler-sfc@3.4.18': - resolution: {integrity: sha512-rG5tqtnzwrVpMqAQ7FHtvHaV70G6LLfJIWLYZB/jZ9m/hrnZmIQh+H3ewnC5onwe/ibljm9+ZupxeElzqCkTAw==} - - '@vue/compiler-ssr@3.4.18': - resolution: {integrity: sha512-hSlv20oUhPxo2UYUacHgGaxtqP0tvFo6ixxxD6JlXIkwzwoZ9eKK6PFQN4hNK/R13JlNyldwWt/fqGBKgWJ6nQ==} - - '@vue/devtools-api@7.0.14': - resolution: {integrity: sha512-TluWR9qZ6aO11bwtYK8+fzXxBqLfsE0mWZz1q/EQBmO9k82Cm6deieLwNNXjNFJz7xutazoia5Qa+zTYkPPOfw==} - - '@vue/devtools-kit@7.0.14': - resolution: {integrity: sha512-wAAJazr4hI0aVRpgWOCVPw+NzMQdthhnprHHIg4njp1MkKrpCNGQ7MtQbZF1AltAA7xpMCGyyt+0kYH0FqTiPg==} - - '@vue/devtools-schema@7.0.14': - resolution: {integrity: sha512-tpUeCLVrdHX+KzWMLTAwx/vAPFbo6jAUi7sr6Q+0mBIqIVSSIxNr5wEhegiFvYva+OtDeM2OrT+f7/X/5bvZNg==} - - '@vue/devtools-shared@7.0.14': - resolution: {integrity: sha512-79RP1NDakBVWou9rDpVnT1WMjTbL1lJKm6YEOodjQ0dq5ehf0wsRbeYDhgAlnjehWRzTq5GAYFBFUPYBs0/QpA==} - - '@vue/reactivity@3.4.18': - resolution: {integrity: sha512-7uda2/I0jpLiRygprDo5Jxs2HJkOVXcOMlyVlY54yRLxoycBpwGJRwJT9EdGB4adnoqJDXVT2BilUAYwI7qvmg==} - - '@vue/runtime-core@3.4.18': - resolution: {integrity: sha512-7mU9diCa+4e+8/wZ7Udw5pwTH10A11sZ1nldmHOUKJnzCwvZxfJqAtw31mIf4T5H2FsLCSBQT3xgioA9vIjyDQ==} - - '@vue/runtime-dom@3.4.18': - resolution: {integrity: sha512-2y1Mkzcw1niSfG7z3Qx+2ir9Gb4hdTkZe5p/I8x1aTIKQE0vY0tPAEUPhZm5tx6183gG3D/KwHG728UR0sIufA==} - - '@vue/server-renderer@3.4.18': - resolution: {integrity: sha512-YJd1wa7mzUN3NRqLEsrwEYWyO+PUBSROIGlCc3J/cvn7Zu6CxhNLgXa8Z4zZ5ja5/nviYO79J1InoPeXgwBTZA==} - peerDependencies: - vue: 3.4.18 - - '@vue/shared@3.4.18': - resolution: {integrity: sha512-CxouGFxxaW5r1WbrSmWwck3No58rApXgRSBxrqgnY1K+jk20F6DrXJkHdH9n4HVT+/B6G2CAn213Uq3npWiy8Q==} - - '@vueuse/core@10.7.2': - resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} - - '@vueuse/integrations@10.7.2': - resolution: {integrity: sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ==} - peerDependencies: - async-validator: '*' - axios: '*' - change-case: '*' - drauu: '*' - focus-trap: '*' - fuse.js: '*' - idb-keyval: '*' - jwt-decode: '*' - nprogress: '*' - qrcode: '*' - sortablejs: '*' - universal-cookie: '*' - peerDependenciesMeta: - async-validator: - optional: true - axios: - optional: true - change-case: - optional: true - drauu: - optional: true - focus-trap: - optional: true - fuse.js: - optional: true - idb-keyval: - optional: true - jwt-decode: - optional: true - nprogress: - optional: true - qrcode: - optional: true - sortablejs: - optional: true - universal-cookie: - optional: true - - '@vueuse/metadata@10.7.2': - resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} - - '@vueuse/shared@10.7.2': - resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} - abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -745,9 +541,6 @@ packages: ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - algoliasearch@4.22.1: - resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -948,9 +741,6 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -1025,10 +815,6 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1064,9 +850,6 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -1141,9 +924,6 @@ packages: resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} engines: {node: '>=14'} - focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} - for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -1271,9 +1051,6 @@ packages: resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} engines: {node: '>=8'} - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -1540,9 +1317,6 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - mark.js@8.11.1: - resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -1606,12 +1380,6 @@ packages: resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} - minisearch@6.3.0: - resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} - - mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mlly@1.5.0: resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} @@ -1748,9 +1516,6 @@ packages: pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -1800,9 +1565,6 @@ packages: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} - preact@10.19.4: - resolution: {integrity: sha512-dwaX5jAh0Ga8uENBX1hSOujmKWgx9RtL80KaKUFLc6jb4vCEAc3EeZ0rnQO/FO4VgjfPMfoLFWnNG8bHuZ9VLw==} - prettier@3.2.5: resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} @@ -1936,9 +1698,6 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - search-insights@2.13.0: - resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} - secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -1996,9 +1755,6 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - shiki@1.1.1: - resolution: {integrity: sha512-7ksyiu01NltBvEcLq9GcguF+7RGa5lDwozjgdbiXnlkro1FtMCcrVtHUWbKuYBSOZW74gC4KlnBcgRCwK2ERAw==} - side-channel@1.0.5: resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} engines: {node: '>= 0.4'} @@ -2044,10 +1800,6 @@ packages: spdx-license-ids@3.0.17: resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} - speakingurl@14.0.1: - resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} - engines: {node: '>=0.10.0'} - split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -2135,9 +1887,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -2305,18 +2054,6 @@ packages: terser: optional: true - vitepress@1.0.0-rc.42: - resolution: {integrity: sha512-VeiVVXFblt/sjruFSJBNChMWwlztMrRMe8UXdNpf4e05mKtTYEY38MF5qoP90KxPTCfMQiKqwEGwXAGuOTK8HQ==} - hasBin: true - peerDependencies: - markdown-it-mathjax3: ^4.3.2 - postcss: ^8.4.34 - peerDependenciesMeta: - markdown-it-mathjax3: - optional: true - postcss: - optional: true - vitest@1.2.2: resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2342,25 +2079,6 @@ packages: jsdom: optional: true - vue-demi@0.14.7: - resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} - engines: {node: '>=12'} - hasBin: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - - vue@3.4.18: - resolution: {integrity: sha512-0zLRYamFRe0wF4q2L3O24KQzLyLpL64ye1RUToOgOxuWZsb/FhaNRdGmeozdtVYLz6tl94OXLaK7/WQIrVCw1A==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -2415,96 +2133,6 @@ packages: snapshots: - '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0)': - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - search-insights: 2.13.0 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)': - dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - '@algolia/client-search': 4.22.1 - algoliasearch: 4.22.1 - - '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)': - dependencies: - '@algolia/client-search': 4.22.1 - algoliasearch: 4.22.1 - - '@algolia/cache-browser-local-storage@4.22.1': - dependencies: - '@algolia/cache-common': 4.22.1 - - '@algolia/cache-common@4.22.1': {} - - '@algolia/cache-in-memory@4.22.1': - dependencies: - '@algolia/cache-common': 4.22.1 - - '@algolia/client-account@4.22.1': - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/transporter': 4.22.1 - - '@algolia/client-analytics@4.22.1': - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 - - '@algolia/client-common@4.22.1': - dependencies: - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 - - '@algolia/client-personalization@4.22.1': - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 - - '@algolia/client-search@4.22.1': - dependencies: - '@algolia/client-common': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/transporter': 4.22.1 - - '@algolia/logger-common@4.22.1': {} - - '@algolia/logger-console@4.22.1': - dependencies: - '@algolia/logger-common': 4.22.1 - - '@algolia/requester-browser-xhr@4.22.1': - dependencies: - '@algolia/requester-common': 4.22.1 - - '@algolia/requester-common@4.22.1': {} - - '@algolia/requester-node-http@4.22.1': - dependencies: - '@algolia/requester-common': 4.22.1 - - '@algolia/transporter@4.22.1': - dependencies: - '@algolia/cache-common': 4.22.1 - '@algolia/logger-common': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@ampproject/remapping@2.2.1': dependencies: '@jridgewell/gen-mapping': 0.3.3 @@ -2635,29 +2263,6 @@ snapshots: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - '@docsearch/css@3.5.2': {} - - '@docsearch/js@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0)': - dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) - preact: 10.19.4 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/react' - - react - - react-dom - - search-insights - - '@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0)': - dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) - '@docsearch/css': 3.5.2 - algoliasearch: 4.22.1 - search-insights: 2.13.0 - transitivePeerDependencies: - - '@algolia/client-search' - '@esbuild/aix-ppc64@0.19.12': optional: true @@ -2829,12 +2434,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.10.0': optional: true - '@shikijs/core@1.1.1': {} - - '@shikijs/transformers@1.1.1': - dependencies: - shiki: 1.1.1 - '@sinclair/typebox@0.27.8': {} '@types/body-parser@1.19.5': @@ -2870,15 +2469,6 @@ snapshots: dependencies: '@types/node': 20.11.17 - '@types/linkify-it@3.0.5': {} - - '@types/markdown-it@13.0.7': - dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 - - '@types/mdurl@1.0.5': {} - '@types/methods@1.1.4': {} '@types/mime@1.3.5': {} @@ -2917,14 +2507,7 @@ snapshots: '@types/methods': 1.1.4 '@types/superagent': 8.1.3 - '@types/web-bluetooth@0.0.20': {} - - '@vitejs/plugin-vue@5.0.4(vite@5.1.1)(vue@3.4.18)': - dependencies: - vite: 5.1.1(@types/node@20.11.17) - vue: 3.4.18(typescript@5.3.3) - - '@vitest/coverage-istanbul@1.2.2(vitest@1.2.2)': + '@vitest/coverage-istanbul@1.2.2(vitest@1.2.2(@types/node@20.11.17))': dependencies: debug: 4.3.4 istanbul-lib-coverage: 3.2.2 @@ -2968,107 +2551,6 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@vue/compiler-core@3.4.18': - dependencies: - '@babel/parser': 7.23.9 - '@vue/shared': 3.4.18 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - - '@vue/compiler-dom@3.4.18': - dependencies: - '@vue/compiler-core': 3.4.18 - '@vue/shared': 3.4.18 - - '@vue/compiler-sfc@3.4.18': - dependencies: - '@babel/parser': 7.23.9 - '@vue/compiler-core': 3.4.18 - '@vue/compiler-dom': 3.4.18 - '@vue/compiler-ssr': 3.4.18 - '@vue/shared': 3.4.18 - estree-walker: 2.0.2 - magic-string: 0.30.7 - postcss: 8.4.35 - source-map-js: 1.0.2 - - '@vue/compiler-ssr@3.4.18': - dependencies: - '@vue/compiler-dom': 3.4.18 - '@vue/shared': 3.4.18 - - '@vue/devtools-api@7.0.14': - dependencies: - '@vue/devtools-kit': 7.0.14 - - '@vue/devtools-kit@7.0.14': - dependencies: - '@vue/devtools-schema': 7.0.14 - '@vue/devtools-shared': 7.0.14 - hookable: 5.5.3 - mitt: 3.0.1 - perfect-debounce: 1.0.0 - speakingurl: 14.0.1 - - '@vue/devtools-schema@7.0.14': {} - - '@vue/devtools-shared@7.0.14': - dependencies: - rfdc: 1.3.1 - - '@vue/reactivity@3.4.18': - dependencies: - '@vue/shared': 3.4.18 - - '@vue/runtime-core@3.4.18': - dependencies: - '@vue/reactivity': 3.4.18 - '@vue/shared': 3.4.18 - - '@vue/runtime-dom@3.4.18': - dependencies: - '@vue/runtime-core': 3.4.18 - '@vue/shared': 3.4.18 - csstype: 3.1.3 - - '@vue/server-renderer@3.4.18(vue@3.4.18)': - dependencies: - '@vue/compiler-ssr': 3.4.18 - '@vue/shared': 3.4.18 - vue: 3.4.18(typescript@5.3.3) - - '@vue/shared@3.4.18': {} - - '@vueuse/core@10.7.2(vue@3.4.18)': - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.7.2 - '@vueuse/shared': 10.7.2(vue@3.4.18) - vue-demi: 0.14.7(vue@3.4.18) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - '@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.18)': - dependencies: - '@vueuse/core': 10.7.2(vue@3.4.18) - '@vueuse/shared': 10.7.2(vue@3.4.18) - focus-trap: 7.5.4 - vue-demi: 0.14.7(vue@3.4.18) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - '@vueuse/metadata@10.7.2': {} - - '@vueuse/shared@10.7.2(vue@3.4.18)': - dependencies: - vue-demi: 0.14.7(vue@3.4.18) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -3085,7 +2567,7 @@ snapshots: acorn@8.11.3: {} ajv-formats@2.1.1(ajv@8.12.0): - dependencies: + optionalDependencies: ajv: 8.12.0 ajv@8.12.0: @@ -3095,23 +2577,6 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - algoliasearch@4.22.1: - dependencies: - '@algolia/cache-browser-local-storage': 4.22.1 - '@algolia/cache-common': 4.22.1 - '@algolia/cache-in-memory': 4.22.1 - '@algolia/client-account': 4.22.1 - '@algolia/client-analytics': 4.22.1 - '@algolia/client-common': 4.22.1 - '@algolia/client-personalization': 4.22.1 - '@algolia/client-search': 4.22.1 - '@algolia/logger-common': 4.22.1 - '@algolia/logger-console': 4.22.1 - '@algolia/requester-browser-xhr': 4.22.1 - '@algolia/requester-common': 4.22.1 - '@algolia/requester-node-http': 4.22.1 - '@algolia/transporter': 4.22.1 - ansi-regex@5.0.1: {} ansi-regex@6.0.1: {} @@ -3343,8 +2808,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - csstype@3.1.3: {} - debug@2.6.9: dependencies: ms: 2.0.0 @@ -3403,8 +2866,6 @@ snapshots: encodeurl@1.0.2: {} - entities@4.5.0: {} - error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -3497,8 +2958,6 @@ snapshots: escape-string-regexp@1.0.5: {} - estree-walker@2.0.2: {} - estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 @@ -3650,10 +3109,6 @@ snapshots: fast-querystring: 1.1.2 safe-regex2: 2.0.0 - focus-trap@7.5.4: - dependencies: - tabbable: 6.2.0 - for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -3784,8 +3239,6 @@ snapshots: hexoid@1.0.0: {} - hookable@5.5.3: {} - hosted-git-info@2.8.9: {} html-escaper@2.0.2: {} @@ -4051,8 +3504,6 @@ snapshots: dependencies: semver: 7.6.0 - mark.js@8.11.1: {} - media-typer@0.3.0: {} memorystream@0.3.1: {} @@ -4094,10 +3545,6 @@ snapshots: minipass@7.0.4: {} - minisearch@6.3.0: {} - - mitt@3.0.1: {} - mlly@1.5.0: dependencies: acorn: 8.11.3 @@ -4223,8 +3670,6 @@ snapshots: pathval@1.1.1: {} - perfect-debounce@1.0.0: {} - picocolors@1.0.0: {} picomatch@2.3.1: {} @@ -4262,10 +3707,12 @@ snapshots: mlly: 1.5.0 pathe: 1.1.2 - postcss-load-config@4.0.2: + postcss-load-config@4.0.2(postcss@8.4.35): dependencies: lilconfig: 3.0.0 yaml: 2.3.4 + optionalDependencies: + postcss: 8.4.35 postcss@8.4.35: dependencies: @@ -4273,8 +3720,6 @@ snapshots: picocolors: 1.0.0 source-map-js: 1.0.2 - preact@10.19.4: {} - prettier@3.2.5: {} pretty-format@29.7.0: @@ -4418,8 +3863,6 @@ snapshots: safer-buffer@2.1.2: {} - search-insights@2.13.0: {} - secure-json-parse@2.7.0: {} semver@5.7.2: {} @@ -4490,10 +3933,6 @@ snapshots: shell-quote@1.8.1: {} - shiki@1.1.1: - dependencies: - '@shikijs/core': 1.1.1 - side-channel@1.0.5: dependencies: call-bind: 1.0.6 @@ -4535,8 +3974,6 @@ snapshots: spdx-license-ids@3.0.17: {} - speakingurl@14.0.1: {} - split2@4.2.0: {} stackback@0.0.2: {} @@ -4645,8 +4082,6 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - tabbable@6.2.0: {} - test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 @@ -4691,7 +4126,7 @@ snapshots: tslib@2.6.2: {} - tsup@8.0.2(typescript@5.3.3): + tsup@8.0.2(postcss@8.4.35)(typescript@5.3.3): dependencies: bundle-require: 4.0.2(esbuild@0.19.12) cac: 6.7.14 @@ -4701,12 +4136,14 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2 + postcss-load-config: 4.0.2(postcss@8.4.35) resolve-from: 5.0.0 rollup: 4.10.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.4.35 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -4799,60 +4236,15 @@ snapshots: vite@5.1.1(@types/node@20.11.17): dependencies: - '@types/node': 20.11.17 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.10.0 optionalDependencies: + '@types/node': 20.11.17 fsevents: 2.3.3 - vitepress@1.0.0-rc.42(@algolia/client-search@4.22.1)(@types/node@20.11.17)(search-insights@2.13.0)(typescript@5.3.3): - dependencies: - '@docsearch/css': 3.5.2 - '@docsearch/js': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) - '@shikijs/core': 1.1.1 - '@shikijs/transformers': 1.1.1 - '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.4(vite@5.1.1)(vue@3.4.18) - '@vue/devtools-api': 7.0.14 - '@vueuse/core': 10.7.2(vue@3.4.18) - '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.18) - focus-trap: 7.5.4 - mark.js: 8.11.1 - minisearch: 6.3.0 - shiki: 1.1.1 - vite: 5.1.1(@types/node@20.11.17) - vue: 3.4.18(typescript@5.3.3) - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/node' - - '@types/react' - - '@vue/composition-api' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - less - - lightningcss - - nprogress - - qrcode - - react - - react-dom - - sass - - search-insights - - sortablejs - - stylus - - sugarss - - terser - - typescript - - universal-cookie - vitest@1.2.2(@types/node@20.11.17): dependencies: - '@types/node': 20.11.17 '@vitest/expect': 1.2.2 '@vitest/runner': 1.2.2 '@vitest/snapshot': 1.2.2 @@ -4874,6 +4266,8 @@ snapshots: vite: 5.1.1(@types/node@20.11.17) vite-node: 1.2.2(@types/node@20.11.17) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.11.17 transitivePeerDependencies: - less - lightningcss @@ -4883,19 +4277,6 @@ snapshots: - supports-color - terser - vue-demi@0.14.7(vue@3.4.18): - dependencies: - vue: 3.4.18(typescript@5.3.3) - - vue@3.4.18(typescript@5.3.3): - dependencies: - '@vue/compiler-dom': 3.4.18 - '@vue/compiler-sfc': 3.4.18 - '@vue/runtime-dom': 3.4.18 - '@vue/server-renderer': 3.4.18(vue@3.4.18) - '@vue/shared': 3.4.18 - typescript: 5.3.3 - webidl-conversions@4.0.2: {} whatwg-url@7.1.0: From b81f5857ed5cde7c7426c249dfd9d47ac99600b6 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Mon, 24 Jun 2024 23:11:12 -0400 Subject: [PATCH 03/18] docs: reorganize sidebar, add readme badges --- docs/README.md | 16 -- docs/docs/adapters/express.md | 2 +- docs/docs/adapters/fastify.md | 2 +- docs/docs/adapters/index.md | 1 + docs/docs/adapters/vanilla.md | 10 ++ .../authorization_server/configuration.md | 3 + .../configuration.mdx} | 20 +-- docs/docs/authorization_server/index.mdx | 80 ++++++++++ docs/docs/getting_started/endpoints.mdx | 2 + docs/docs/getting_started/entities.md | 27 ++-- docs/docs/getting_started/index.mdx | 146 ++++++++++++++++-- docs/docs/getting_started/install.mdx | 20 --- docs/docs/grants/index.md | 2 +- docs/docs/{v2_to_v3.md => upgrade_guide.md} | 24 +-- docs/docusaurus.config.ts | 2 +- docs/getting_started/index.md | 132 ---------------- .../src/components/HomepageFeatures/index.tsx | 27 ++-- .../dividers/Spikes/index.module.css | 19 +++ docs/src/components/dividers/Spikes/index.tsx | 5 + .../dividers/Triangle/index.module.css | 17 ++ .../components/dividers/Triangle/index.tsx | 10 ++ docs/src/components/homepage.tsx | 41 ----- docs/src/css/custom.css | 14 +- docs/src/pages/index.module.css | 20 --- docs/src/pages/index.tsx | 78 ++++++++-- docs/static/.nojekyll | 0 26 files changed, 406 insertions(+), 314 deletions(-) create mode 100644 docs/docs/authorization_server/configuration.md rename docs/docs/{configuration.md => authorization_server/configuration.mdx} (98%) create mode 100644 docs/docs/authorization_server/index.mdx delete mode 100644 docs/docs/getting_started/install.mdx rename docs/docs/{v2_to_v3.md => upgrade_guide.md} (85%) delete mode 100644 docs/getting_started/index.md create mode 100644 docs/src/components/dividers/Spikes/index.module.css create mode 100644 docs/src/components/dividers/Spikes/index.tsx create mode 100644 docs/src/components/dividers/Triangle/index.module.css create mode 100644 docs/src/components/dividers/Triangle/index.tsx delete mode 100644 docs/src/components/homepage.tsx delete mode 100644 docs/static/.nojekyll diff --git a/docs/README.md b/docs/README.md index 203388fb..46757509 100644 --- a/docs/README.md +++ b/docs/README.md @@ -23,19 +23,3 @@ $ pnpm build ``` This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -``` -$ USE_SSH=true pnpm deploy -``` - -Not using SSH: - -``` -$ GIT_USER= pnpm deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/docs/docs/adapters/express.md b/docs/docs/adapters/express.md index 07acd845..783666c8 100644 --- a/docs/docs/adapters/express.md +++ b/docs/docs/adapters/express.md @@ -1,6 +1,6 @@ # Express -[https://expressjs.com/](https://expressjs.com/) +[Express](https://expressjs.com/) ```typescript import { diff --git a/docs/docs/adapters/fastify.md b/docs/docs/adapters/fastify.md index c4b4a809..07cd3cb7 100644 --- a/docs/docs/adapters/fastify.md +++ b/docs/docs/adapters/fastify.md @@ -1,6 +1,6 @@ # Fastify -[https://www.fastify.io/](https://www.fastify.io/) +[Fastify](https://www.fastify.io/) ```typescript import { diff --git a/docs/docs/adapters/index.md b/docs/docs/adapters/index.md index ef60862f..65a539a2 100644 --- a/docs/docs/adapters/index.md +++ b/docs/docs/adapters/index.md @@ -1,5 +1,6 @@ --- title: Adapters +sidebar_position: 4 --- # Adapters diff --git a/docs/docs/adapters/vanilla.md b/docs/docs/adapters/vanilla.md index afd610c8..eba6cd93 100644 --- a/docs/docs/adapters/vanilla.md +++ b/docs/docs/adapters/vanilla.md @@ -1,5 +1,15 @@ +--- +sidebar_position: 1 +--- + # Vanilla +:::info + +Available in >3.4.0 + +::: + ```typescript import { requestFromVanilla, diff --git a/docs/docs/authorization_server/configuration.md b/docs/docs/authorization_server/configuration.md new file mode 100644 index 00000000..e015f7fb --- /dev/null +++ b/docs/docs/authorization_server/configuration.md @@ -0,0 +1,3 @@ +--- +sidebar_position: 7 +--- diff --git a/docs/docs/configuration.md b/docs/docs/authorization_server/configuration.mdx similarity index 98% rename from docs/docs/configuration.md rename to docs/docs/authorization_server/configuration.mdx index 6af96647..d25de70c 100644 --- a/docs/docs/configuration.md +++ b/docs/docs/authorization_server/configuration.mdx @@ -1,7 +1,3 @@ ---- -sidebar_position: 7 ---- - # Configuration :::info @@ -12,6 +8,14 @@ The default configuration is great for most users. You might not need to tweak a The authorization server has a few optional settings with the following default values; +| Option | Type | Default | Details | +| ----------------- | ------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `requiresPKCE` | boolean | true | PKCE is enabled by default and recommended for all users. To support a legacy client without PKCE, disable this option. [[Learn more]][requires-pkce] | +| `requiresS256` | boolean | true | Disabled by default. If you want to require all clients to use S256, you can enable that here. [[Learn more]][requires-s256] | +| `notBeforeLeeway` | number | 0 | Implementers MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing a NumericDate value. | +| `tokenCID` | "id" or "name" | "id" | Sets the JWT `accessToken.cid` to either the `client.id` or `client.name`.

In 3.x the default is **"id"**, in v2.x the default was **"name"**. [[Learn more]][token-cid] | +| `issuer` | string \| undefined | undefined | Sets the JWT `accessToken.iss` to this value. | + ```ts type AuthorizationServerOptions = { requiresPKCE: true; @@ -22,14 +26,6 @@ type AuthorizationServerOptions = { }; ``` -| Option | Type | Default | Details | -| ----------------- | ------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `requiresPKCE` | boolean | true | PKCE is enabled by default and recommended for all users. To support a legacy client without PKCE, disable this option. [[Learn more]][requires-pkce] | -| `requiresS256` | boolean | true | Disabled by default. If you want to require all clients to use S256, you can enable that here. [[Learn more]][requires-s256] | -| `notBeforeLeeway` | number | 0 | Implementers MAY provide for some small leeway, usually no more than a few minutes, to account for clock skew. Its value MUST be a number containing a NumericDate value. | -| `tokenCID` | "id" or "name" | "id" | Sets the JWT `accessToken.cid` to either the `client.id` or `client.name`.

In 3.x the default is **"id"**, in v2.x the default was **"name"**. [[Learn more]][token-cid] | -| `issuer` | string \| undefined | undefined | Sets the JWT `accessToken.iss` to this value. | - To configure these options, pass the value in as the last argument: ```typescript diff --git a/docs/docs/authorization_server/index.mdx b/docs/docs/authorization_server/index.mdx new file mode 100644 index 00000000..c7ca91fb --- /dev/null +++ b/docs/docs/authorization_server/index.mdx @@ -0,0 +1,80 @@ +--- +sidebar_position: 2 +--- + +# The Authorization Server + +The `AuthorizationServer` is a core component of the OAuth 2.0 framework, responsible for authenticating resource owners and issuing access tokens to clients. This class provides a flexible and customizable implementation of an authorization server. + +## Initialization + +To create an instance of the `AuthorizationServer`, use the following constructor: + +```typescript +const authorizationServer = new AuthorizationServer( + clientRepository, + accessTokenRepository, + scopeRepository, + "secret-key", + configuration, +); +``` + +Parameters: + +- `clientRepository`: An instance of the client repository +- `accessTokenRepository`: An instance of the access token repository +- `scopeRepository`: An instance of the scope repository +- `"secret-key"`: A string used for signing tokens (ensure this is kept secure) +- `configuration`: An optional object for additional server configuration + +## Enabling Grant Types + +By default, no grant types are enabled when creating an `AuthorizationServer`. Each grant type must be explicitly enabled using the `enableGrantType` method. This approach allows for fine-grained control over which OAuth 2.0 flows your server supports. + +```typescript +authorizationServer.enableGrantType("client_credentials"); +authorizationServer.enableGrantType("refresh_token"); +authorizationServer.enableGrantType({ + grant: "authorization_code", + userRepository, + authorizationCodeRepository, +}); +// any other grant types you want to enable +``` + +Note that the Authorization Code grant requires additional repositories: `userRepository` and `authorizationCodeRepository`. + +### Example: Enabling Multiple Grant Types + +You can enable multiple grant types on the same server: + +```typescript +const authorizationServer = new AuthorizationServer( + clientRepository, + accessTokenRepository, + scopeRepository, + "secret-key", + configuration, +); + +authorizationServer.enableGrantType("client_credentials"); +authorizationServer.enableGrantType("refresh_token"); +authorizationServer.enableGrantType({ + grant: "authorization_code", + userRepository, + authorizationCodeRepository, +}); +``` + +## Best Practices + +1. **Security**: Keep the `secret-key` confidential and use a strong, unique value in production. +2. **Grant Types**: Only enable the grant types necessary for your application to minimize potential attack vectors. + +## Additional Considerations + +- **PKCE Support**: If implementing the Authorization Code grant, consider adding support for Proof Key for Code Exchange (PKCE) to enhance security for public clients. +- **Scope Validation**: Implement proper scope validation in your `scopeRepository` to ensure clients only receive access to permitted resources. +- **Token Management**: Implement token revocation and introspection endpoints for better token lifecycle management. +- **Error Handling**: Implement comprehensive error handling to provide clear and secure responses for various error scenarios. diff --git a/docs/docs/getting_started/endpoints.mdx b/docs/docs/getting_started/endpoints.mdx index 9e25c646..e2dbf5ba 100644 --- a/docs/docs/getting_started/endpoints.mdx +++ b/docs/docs/getting_started/endpoints.mdx @@ -76,7 +76,9 @@ app.get("/authorize", async (req: Express.Request, res: Express.Response) => { ## The Revoke Endpoint :::tip Note + Implementing this endpoint is optional, but recommended. RFC7009 “OAuth 2.0 Token Revocation” + ::: The `/token/revoke` endpoint is a back channel endpoint that revokes an existing token. diff --git a/docs/docs/getting_started/entities.md b/docs/docs/getting_started/entities.md index f861eedc..3f90d9ae 100644 --- a/docs/docs/getting_started/entities.md +++ b/docs/docs/getting_started/entities.md @@ -4,15 +4,17 @@ sidebar_position: 2 # Entity Interfaces -You will need to implement the following entities to create an AuthorizationServer. - ## Client Entity -This entity represents the client that wants to access the resource server. The client will retrieve an access token from our authorization server and use it to access the resource server. +The Client Entity represents an application that requests access to protected resources on behalf of the resource owner (user). + +:::info redirect_uris: + +- URIs must be absolute. +- URIs may include query parameters in application/x-www-form-urlencoded format +- URIs must not include fragment components. -- URI must be an absolute URI -- The endpoint may include application/x-www-form-urlencoded formatted query component which must be retained when adding additional query params -- the endpoint URI must not include a fragment component +::: ```typescript interface OAuthClient { @@ -27,7 +29,7 @@ interface OAuthClient { ## Auth Code Entity -The auth code is used to retrieve an access token from the authorization server. +The Auth Code Entity represents a short-lived authorization code used in the Authorization Code grant type. It's an intermediary step between user authorization and token issuance. ```ts interface OAuthAuthCode { @@ -40,16 +42,13 @@ interface OAuthAuthCode { client: OAuthClient; scopes: OAuthScope[]; } -``` -```ts type CodeChallengeMethod = "S256" | "plain"; ``` ## Token Entity -The access and refresh token that can be used to authenticate into the resource server. -The `originatingAuthCodeId` will be present only for tokens originating from the authorization code grant; see the `revokeDescendantsOf()` method on the [Token Repository](https://tsoauth2server.com/repositories/#token-repository) for its significance. +The Token Entity represents access and refresh tokens issued to clients. ```typescript interface OAuthToken { @@ -66,7 +65,7 @@ interface OAuthToken { ## User Entity -The resource owner +The User Entity represents the resource owner - typically the end-user who authorizes an application to access their account. ```typescript interface OAuthUser { @@ -77,9 +76,9 @@ interface OAuthUser { ## Scope Entity -Scopes are a way to limit an app’s access to a user’s data. +Scopes are used to define and limit the extent of access granted to a client application. They provide granular control over the permissions given to third-party applications. -https://www.oauth.com/oauth2-servers/scope/ +For more information on OAuth 2.0 scopes, visit: https://www.oauth.com/oauth2-servers/scope/ ```typescript interface OAuthScope { diff --git a/docs/docs/getting_started/index.mdx b/docs/docs/getting_started/index.mdx index 0c37e88e..a9f812aa 100644 --- a/docs/docs/getting_started/index.mdx +++ b/docs/docs/getting_started/index.mdx @@ -2,37 +2,151 @@ sidebar_position: 1 --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import CodeBlock from "@theme/CodeBlock"; + # Getting Started -## Summary +[![JSR](https://jsr.io/badges/@jmondi/oauth2-server)](https://jsr.io/@jmondi/oauth2-server) +[![GitHub package.json version](https://img.shields.io/github/package-json/v/jasonraimondi/ts-oauth2-server?style=flat-square)](https://github.com/jasonraimondi/ts-oauth2-server/releases/latest) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/jasonraimondi/ts-oauth2-server/build-and-test.yml?branch=main&style=flat-square)](https://github.com/jasonraimondi/ts-oauth2-server) +[![Test Coverage](https://img.shields.io/codeclimate/coverage/jasonraimondi/typescript-oauth2-server?style=flat-square)](https://codeclimate.com/github/jasonraimondi/typescript-oauth2-server/test_coverage) +[![NPM Downloads](https://img.shields.io/npm/dt/@jmondi/oauth2-server?label=npm%20downloads&style=flat-square)](https://www.npmjs.com/package/@jmondi/oauth2-server) + +## Introduction + +A standards compliant implementation of an OAuth 2.0 authorization server for Nodejs that utilizes JWT and Proof Key for Code Exchange (PKCE), written in TypeScript. + +## Quick Start + +This section provides a high-level overview of setting up the OAuth2 server. + +1. Install the package +1. Implement [Entities](./entities) +1. Implement [Repositories](./repositories) +1. Set up the [AuthorizationServer](#the-authorization-server) with desired grant types +1. Implement the [Endpoints](./endpoints) + +## Installation + +Choose your preferred package manager to install @jmondi/oauth2-server: -1. Implement the [entities](#) required by the Authorization Server. -1. Decide what grants you are going to Implement the [repositories](#) required by the Authorization Server. -1. + + + pnpm add @jmondi/oauth2-server + + + npm install --save @jmondi/oauth2-server + + + yarn add @jmondi/oauth2-server + + + npx jsr add @jmondi/oauth2-server + + + deno add @jmondi/oauth2-server + + + bunx jsr add @jmondi/oauth2-server + + -## The Authorization Server +## Basic Setup -The AuthorizationServer depends on [the repositories](#repositories). By default, no grants are enabled; each grant is opt-in and must be enabled when creating the AuthorizationServer. +### The Authorization Server -You can enable any grant types you would like to support. +The AuthorizationServer is the core component of the OAuth2 implementation. It requires repositories for managing clients, access tokens, and scopes. Grant types are opt-in and must be explicitly enabled. -```typescript +```ts const authorizationServer = new AuthorizationServer( clientRepository, accessTokenRepository, scopeRepository, "secret-key", - {}, // optional configuration ); authorizationServer.enableGrantType("client_credentials"); -authorizationServer.enableGrantType("refresh_token"); -authorizationServer.enableGrantType({ - grant: "authorization_code", - userRepository, - authorizationCodeRepository, +``` + +For a complete list of configuration options, refer to the [configuration documentation](../configuration/index.md). + +## Endpoints + +### Token Endpoint + +The `/token` endpoint is a back-channel endpoint that issues access tokens. + +```ts +app.post("/token", async (req: Express.Request, res: Express.Response) => { + try { + const oauthResponse = await authorizationServer.respondToAccessTokenRequest(req); + return handleExpressResponse(res, oauthResponse); + } catch (e) { + handleExpressError(e, res); + } +}); +``` + +### Authorize Endpoint + +The `/authorize` endpoint is a front-channel endpoint that issues authorization codes, which can be exchanged for access tokens. + +```ts +import { requestFromExpress } from "@jmondi/oauth2-server/express"; + +app.get("/authorize", async (req: Express.Request, res: Express.Response) => { + try { + // Step 1: Validate the authorization request + const authRequest = await authorizationServer.validateAuthorizationRequest( + request, + requestFromExpress(req), + ); + + // Step 2: Ensure user is authenticated + if (!req.user) { + return res.redirect("/login"); // Redirect to login if user is not authenticated + } + + // Step 3: Set the authenticated user on the AuthorizationRequest + authRequest.user = req.user; + + // Step 4: Check if the user has approved the authorization + authRequest.isAuthorizationApproved = getIsAuthorizationApprovedFromSession(); + + // Step 5: If not approved, redirect to approval screen + if (!authRequest.isAuthorizationApproved) { + return res.redirect("/scopes"); // Redirect to scope approval screen + } + + // Step 6: Complete the authorization request + const oauthResponse = await authorizationServer.completeAuthorizationRequest(authRequest); + return handleExpressResponse(res, oauthResponse); + } catch (e) { + handleExpressError(e, res); + } +}); +``` + +### Revoke Token Endpoint + +The `/token/revoke` endpoint revokes an existing token. + +```ts +app.post("/token/revoke", async (req: Express.Request, res: Express.Response) => { + try { + const oauthResponse = await authorizationServer.revoke(req); + return handleExpressResponse(res, oauthResponse); + } catch (e) { + handleExpressError(e, res); + } }); ``` -AFTER IMPLEMENTING ENTITIES THEN YOU NEED TO IMPLEMENT ROUTES +## Security Best Practices -See the [configuration](../configuration/index.md) documentation for a full list of config options. +1. Use HTTPS for all OAuth2 endpoints +2. Implement rate limiting to prevent brute force attacks +3. Use strong, unique client secrets for each client +4. Implement proper token storage and transmission practices +5. Regularly rotate secrets and tokens diff --git a/docs/docs/getting_started/install.mdx b/docs/docs/getting_started/install.mdx deleted file mode 100644 index 845c4692..00000000 --- a/docs/docs/getting_started/install.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -sidebar_position: 1 ---- - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; - -# Install - - - - ```bash pnpm add @jmondi/oauth2-server ``` - - - ```bash npm install --save @jmondi/oauth2-server ``` - - - ```bash yarn add @jmondi/oauth2-server ``` - - diff --git a/docs/docs/grants/index.md b/docs/docs/grants/index.md index cc89bbfe..5d855079 100644 --- a/docs/docs/grants/index.md +++ b/docs/docs/grants/index.md @@ -1,6 +1,6 @@ --- title: Grants -sidebar_position: 2 +sidebar_position: 3 --- # Which Grant? diff --git a/docs/docs/v2_to_v3.md b/docs/docs/upgrade_guide.md similarity index 85% rename from docs/docs/v2_to_v3.md rename to docs/docs/upgrade_guide.md index 124d4357..d06edf72 100644 --- a/docs/docs/v2_to_v3.md +++ b/docs/docs/upgrade_guide.md @@ -1,14 +1,18 @@ -# Migrating from v2 to v3 +--- +sidebar_position: 5 +--- -Upgrade Time Estimate: 10 minutes +# Upgrade Guide + +## Migrating from v2 to v3 [[toc]] -## This package is now pure ESM +### This package is now pure ESM The package is now entirely ESM (ECMAScript Modules). More details about this change can be found in [Sindre Sorhus's writeup](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). -## `AuthorizationServer` Updates {#authorization-server} +### `AuthorizationServer` Updates {#authorization-server} In v2.x, `AuthorizationServer` constructor required all repositories. In v3.x, it has been simplified. @@ -44,11 +48,11 @@ const authorizationServer = new AuthorizationServer( ); ``` -## Enabling Grants +### Enabling Grants In v3, `enableGrantType` has been updated for the **"authorization_code"** and **"password"** grants. -### Authorization Code Grant +#### Authorization Code Grant `AuthorizationCodeGrant` now requires a [AuthorizationCodeRepository](../../repositories/index.md#authorization-code-repository) and a [UserRepository](../../repositories/index.md#user-repository). @@ -68,7 +72,7 @@ authorizationServer.enableGrantType({ }); ``` -### Password Grant +#### Password Grant `PasswordGrant` now requires a [UserRepository](../../repositories/index.md#user-repository). @@ -87,7 +91,7 @@ authorizationServer.enableGrantType({ }); ``` -## `AuthorizationServerOptions` Default Configuration Updates +### `AuthorizationServerOptions` Default Configuration Updates The default options for `AuthorizationServer` have been modified to better align with the OAuth 2.0 specification: @@ -96,10 +100,10 @@ The default options for `AuthorizationServer` have been modified to better align | requiresS256 | false | true | | tokenCID | "name" | "id" | -## Removed `setOptions` Method +### Removed `setOptions` Method The undocumented, public method `setOptions` has been removed in v3. Options can be set during `AuthorizationServer` initialization. -## `generateRandomToken` Function Fix +### `generateRandomToken` Function Fix A bug in the `generateRandomToken` function has been fixed in v3.x. diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index b0b80b0c..27889fe1 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -4,7 +4,7 @@ import type * as Preset from "@docusaurus/preset-classic"; import tailwindPlugin from "./tailwind-config.cjs"; const config: Config = { - title: "ts-oauth2-server", + title: "@jmondi/oauth2-server", plugins: [tailwindPlugin], tagline: "A standards compliant implementation of an OAuth 2.0 authorization server for Nodejs that utilizes JWT and Proof Key for Code Exchange (PKCE), written in TypeScript. ", diff --git a/docs/getting_started/index.md b/docs/getting_started/index.md deleted file mode 100644 index 0fb4751b..00000000 --- a/docs/getting_started/index.md +++ /dev/null @@ -1,132 +0,0 @@ -# Getting Started - -## Install - -[![npm](https://img.shields.io/npm/v/@jmondi/oauth2-server?style=flat-square)](https://www.npmjs.com/package/@jmondi/oauth2-server) - -::: code-group -```bash [PNPM] -pnpm add @jmondi/oauth2-server -``` - -```bash [NPM] -npm install --save @jmondi/oauth2-server -``` - -```bash [YARN] -yarn add @jmondi/oauth2-server -``` -::: - -## The Authorization Server - -The AuthorizationServer depends on [the repositories](#repositories). By default, no grants are enabled; each grant is opt-in and must be enabled when creating the AuthorizationServer. - -You can enable any grant types you would like to support. - -```typescript -const authorizationServer = new AuthorizationServer( - clientRepository, - accessTokenRepository, - scopeRepository, - "secret-key", - {} // optional configuration -); -authorizationServer.enableGrantType("client_credentials"); -authorizationServer.enableGrantType("refresh_token"); -authorizationServer.enableGrantType({ - grant: "authorization_code", - userRepository, - authorizationCodeRepository, -}); -``` - -See the [configuration](../configuration/index.md) documentation for a full list of config options. - -## The Token Endpoint - -The `/token` endpoint is a back channel endpoint that issues a usable access token. - -```typescript -app.post("/token", async (req: Express.Request, res: Express.Response) => { - try { - const oauthResponse = await authorizationServer.respondToAccessTokenRequest(req); - return handleExpressResponse(res, oauthResponse); - } catch (e) { - handleExpressError(e, res); - return; - } -}); -``` - -## The Authorize Endpoint - -The `/authorize` endpoint is a front channel endpoint that issues an authorization code. The authorization code can then be exchanged to the `AuthorizationServer` endpoint for a useable access token. - -The endpoint should redirect the user to login, and then to accept the scopes requested by the application, and only when the user accepts, should it send the user back to the clients redirect uri. - -```typescript -import { requestFromExpress } from "@jmondi/oauth2-server/express"; - -app.get("/authorize", async (req: Express.Request, res: Express.Response) => { - try { - // Validate the HTTP request and return an AuthorizationRequest. - const authRequest = await authorizationServer.validateAuthorizationRequest(request, requestFromExpress(req)); - - // You will probably redirect the user to a login endpoint. - if (!req.user) { - req.redirect("/login") - return; - } - // After login, the user should be redirected back with user in the session. - // You will need to manage the authorization query on the round trip. - // The auth request object can be serialized and saved into a user's session. - - // Once the user has logged in set the user on the AuthorizationRequest - authRequest.user = req.user; - - // Once the user has approved or denied the client update the status - // (true = approved, false = denied) - authRequest.isAuthorizationApproved = getIsAuthorizationApprovedFromSession(); - - // If the user has not approved the client's authorization request, - // the user should be redirected to the approval screen. - if (!authRequest.isAuthorizationApproved) { - // This form will ask the user to approve the client and the scopes requested. - // "Do you authorize Jason to: read contacts? write contacts?" - req.redirect("/scopes") - return; - } - - // At this point the user has approved the client for authorization. - // Any last authorization requests such as Two Factor Authentication (2FA) can happen here. - - - // Redirect back to redirect_uri with `code` and `state` as url query params. - const oauthResponse = await authorizationServer.completeAuthorizationRequest(authRequest); - return handleExpressResponse(res, oauthResponse); - } catch (e) { - handleExpressError(e, res); - } -}); -``` - -## Revoke Token - -::: tip Note -Implementing this endpoint is optional, but recommended. RFC7009 “OAuth 2.0 Token Revocation” -::: - -The `/token/revoke` endpoint is a back channel endpoint that revokes an existing token. - -```typescript -app.post("/token/revoke", async (req: Express.Request, res: Express.Response) => { - try { - const oauthResponse = await authorizationServer.revoke(req); - return handleExpressResponse(res, oauthResponse); - } catch (e) { - handleExpressError(e, res); - return; - } -}); -``` diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx index bb62b1c2..275eacf5 100644 --- a/docs/src/components/HomepageFeatures/index.tsx +++ b/docs/src/components/HomepageFeatures/index.tsx @@ -14,7 +14,7 @@ const FeatureList: FeatureItem[] = [ description: ( <> - {` + {` import { OAuthClient, OAuthAuthCode, OAuthUser, OAuthScope, GrantIdentifier, ScopeEntity, CodeChallengeMethod } from '@jmondi/oauth2-server'; class ClientEntity implements OAuthClient { @@ -28,9 +28,9 @@ class ClientEntity implements OAuthClient { updatedAt: Date | null; } `.trim()} - + - {` + {` import { OAuthClient, OAuthAuthCode, OAuthUser, OAuthScope, GrantIdentifier, ScopeEntity, CodeChallengeMethod } from '@jmondi/oauth2-server'; class ClientEntity implements OAuthClient { @@ -44,7 +44,7 @@ class ClientEntity implements OAuthClient { updatedAt: Date | null; } `.trim()} - + ), }, @@ -95,7 +95,7 @@ export class ClientRepository implements OAuthClientRepository { // }, ]; -function Feature({title, description}: FeatureItem) { +function Feature({ title, description }: FeatureItem) { return (
{title} @@ -106,12 +106,17 @@ function Feature({title, description}: FeatureItem) { export default function HomepageFeatures(): JSX.Element { return ( -
-
- {FeatureList.map((props, idx) => ( - - ))} + <> +
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+
+

I am jason

-
+ ); } diff --git a/docs/src/components/dividers/Spikes/index.module.css b/docs/src/components/dividers/Spikes/index.module.css new file mode 100644 index 00000000..69c7162f --- /dev/null +++ b/docs/src/components/dividers/Spikes/index.module.css @@ -0,0 +1,19 @@ +.spikes { + position: relative; + background: var(--ifm-color-primary); +} + +.spikes::after { + content: ""; + position: absolute; + right: 0; + left: -0%; + top: 100%; + z-index: 10; + display: block; + height: 50px; + background-size: 50px 100%; + background-image: linear-gradient(135deg, var(--ifm-color-primary) 25%, transparent 25%), + linear-gradient(225deg, var(--ifm-color-primary) 25%, transparent 25%); + background-position: 0 0; +} diff --git a/docs/src/components/dividers/Spikes/index.tsx b/docs/src/components/dividers/Spikes/index.tsx new file mode 100644 index 00000000..a40db7d7 --- /dev/null +++ b/docs/src/components/dividers/Spikes/index.tsx @@ -0,0 +1,5 @@ +import styles from "./index.module.css"; + +export function SpikesDivider() { + return
; +} diff --git a/docs/src/components/dividers/Triangle/index.module.css b/docs/src/components/dividers/Triangle/index.module.css new file mode 100644 index 00000000..ca0dd04c --- /dev/null +++ b/docs/src/components/dividers/Triangle/index.module.css @@ -0,0 +1,17 @@ +.triangle { + position: relative; + background: var(--ifm-color-primary); +} + +.triangle::before { + content: ""; + position: absolute; + bottom: 0; + width: 0; + height: 0; + border-style: solid; + border-width: 40px 40px 0 40px; + border-color: var(--ifm-color-primary) transparent transparent transparent; + left: var(--before-left, 0); + transform: translateX(-50%) translateY(100%); +} diff --git a/docs/src/components/dividers/Triangle/index.tsx b/docs/src/components/dividers/Triangle/index.tsx new file mode 100644 index 00000000..1f4b7370 --- /dev/null +++ b/docs/src/components/dividers/Triangle/index.tsx @@ -0,0 +1,10 @@ +import styles from "./index.module.css"; + +type Props = { + left?: React.CSSProperties["left"]; + style?: React.CSSProperties; +}; + +export function TriangleDivider({ left = "25px", style }: Props) { + return
; +} diff --git a/docs/src/components/homepage.tsx b/docs/src/components/homepage.tsx deleted file mode 100644 index 45e0e1be..00000000 --- a/docs/src/components/homepage.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import clsx from "clsx"; -import Link from "@docusaurus/Link"; -import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; -import Layout from "@theme/Layout"; -import HomepageFeatures from "@site/src/components/HomepageFeatures"; - -import Heading from "@theme/Heading"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; - -import styles from "./index.module.css"; - -function HomepageHeader() { - const { siteConfig } = useDocusaurusContext(); - return ( -
-
- - @jmondi/oauth2-server - -

{siteConfig.tagline}

-
- - Getting Started - -
-
-
- ); -} - -export function Home() { - return ( - <> - -
- -
- - ); -} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index 52abec96..a5513834 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -17,12 +17,12 @@ /* For readability concerns, you should choose a lighter palette in dark mode. */ [data-theme="dark"] { - --ifm-color-primary: #25c2a0; - --ifm-color-primary-dark: #21af90; - --ifm-color-primary-darker: #1fa588; - --ifm-color-primary-darkest: #1a8870; - --ifm-color-primary-light: #29d5b0; - --ifm-color-primary-lighter: #32d8b4; - --ifm-color-primary-lightest: #4fddbf; + --ifm-color-primary: #966cf7; + --ifm-color-primary-dark: #8a5bf6; + --ifm-color-primary-darker: #7e4af5; + --ifm-color-primary-darkest: #6629f3; + --ifm-color-primary-light: #ae8ef9; + --ifm-color-primary-lighter: #ba9ffa; + --ifm-color-primary-lightest: #ded1fc; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css index 32bee5d5..9f71a5da 100644 --- a/docs/src/pages/index.module.css +++ b/docs/src/pages/index.module.css @@ -21,23 +21,3 @@ align-items: center; justify-content: center; } - -.spikes { - position: relative; - background: var(--ifm-color-primary); -} - -.spikes::after { - content: ""; - position: absolute; - right: 0; - left: -0%; - top: 100%; - z-index: 10; - display: block; - height: 50px; - background-size: 50px 100%; - background-image: linear-gradient(135deg, var(--ifm-color-primary) 25%, transparent 25%), - linear-gradient(225deg, var(--ifm-color-primary) 25%, transparent 25%); - background-position: 0 0; -} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index a66b53a3..e415bb79 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -10,21 +10,77 @@ import TabItem from "@theme/TabItem"; import styles from "./index.module.css"; import CodeBlock from "@theme/CodeBlock"; -import {Card} from "@site/src/components/Card"; +import { Card } from "@site/src/components/Card"; +import { SpikesDivider } from "../components/dividers/Spikes"; +import { TriangleDivider } from "../components/dividers/Triangle"; function HomepageHeader() { - const {siteConfig} = useDocusaurusContext(); + const { siteConfig } = useDocusaurusContext(); return (
@@ -32,14 +88,14 @@ function HomepageHeader() { } export default function Home() { - const {siteConfig} = useDocusaurusContext(); + const { siteConfig } = useDocusaurusContext(); return ( - -
+ +
@@ -57,7 +113,7 @@ export default function Home() {
- +
); } diff --git a/docs/static/.nojekyll b/docs/static/.nojekyll deleted file mode 100644 index e69de29b..00000000 From dc52b72134618c3348f68917f5b7079c2cb7d34e Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Mon, 1 Jul 2024 23:42:51 -0400 Subject: [PATCH 04/18] docs: improve documentation and homepage --- docs/.idea/.gitignore | 8 + docs/.idea/codeStyles/Project.xml | 89 ++++ docs/.idea/codeStyles/codeStyleConfig.xml | 5 + docs/.idea/dbnavigator.xml | 401 ++++++++++++++++++ docs/.idea/docs.iml | 13 + docs/.idea/modules.xml | 8 + docs/.idea/vcs.xml | 6 + .../index.md => access_tokens.md} | 12 +- docs/docs/adapters/express.md | 2 + docs/docs/adapters/fastify.md | 2 +- docs/docs/adapters/index.md | 6 +- docs/docs/adapters/vanilla.md | 2 + .../authorization_server/configuration.md | 3 - docs/docs/getting_started/index.mdx | 23 +- .../{misc/glossary/index.md => glossary.md} | 8 +- docs/docs/grants/index.md | 68 ++- docs/docs/misc/index.md | 1 - docs/docs/misc/utils/index.md | 26 -- docs/docs/references.md | 18 + docs/docs/sources/index.md | 24 -- docs/docs/upgrade_guide.md | 4 +- docs/docusaurus.config.ts | 3 +- docs/src/components/CodeExamples.mdx | 14 + .../examples/entites/auth_code_entites.ts | 0 .../examples/entites/client_entites.ts | 0 .../src/components/HomepageFeatures/index.tsx | 122 ------ .../HomepageFeatures/styles.module.css | 11 - docs/src/components/MarkdownWrapper.tsx | 17 + docs/src/components/icons.tsx | 31 ++ docs/src/components/icons/nodejs.tsx | 30 ++ docs/src/components/icons/typescript.tsx | 32 ++ docs/src/index.d.ts | 5 + .../pages/_example_authorization_server.mdx | 5 + docs/src/pages/_example_entities.mdx | 34 ++ docs/src/pages/_example_repositories.mdx | 33 ++ docs/src/pages/_index_install.mdx | 24 ++ docs/src/pages/index.module.css | 23 - docs/src/pages/index.tsx | 171 ++++---- .../{markdown-page.md => markdown-page.mdx} | 0 docs/src/theme/MDXComponents.tsx | 14 + docs/static/img/docusaurus.png | Bin 5142 -> 5124 bytes docs/static/img/favicon.ico | Bin 3626 -> 15406 bytes docs/static/img/logo.svg | 14 +- .../static/img/undraw_docusaurus_mountain.svg | 171 -------- docs/static/img/undraw_docusaurus_react.svg | 170 -------- docs/static/img/undraw_docusaurus_tree.svg | 40 -- 46 files changed, 937 insertions(+), 756 deletions(-) create mode 100644 docs/.idea/.gitignore create mode 100644 docs/.idea/codeStyles/Project.xml create mode 100644 docs/.idea/codeStyles/codeStyleConfig.xml create mode 100644 docs/.idea/dbnavigator.xml create mode 100644 docs/.idea/docs.iml create mode 100644 docs/.idea/modules.xml create mode 100644 docs/.idea/vcs.xml rename docs/docs/{misc/access_tokens/index.md => access_tokens.md} (79%) delete mode 100644 docs/docs/authorization_server/configuration.md rename docs/docs/{misc/glossary/index.md => glossary.md} (53%) delete mode 100644 docs/docs/misc/index.md delete mode 100644 docs/docs/misc/utils/index.md create mode 100644 docs/docs/references.md delete mode 100644 docs/docs/sources/index.md create mode 100644 docs/src/components/CodeExamples.mdx delete mode 100644 docs/src/components/HomepageFeatures/examples/entites/auth_code_entites.ts delete mode 100644 docs/src/components/HomepageFeatures/examples/entites/client_entites.ts delete mode 100644 docs/src/components/HomepageFeatures/index.tsx delete mode 100644 docs/src/components/HomepageFeatures/styles.module.css create mode 100644 docs/src/components/MarkdownWrapper.tsx create mode 100644 docs/src/components/icons.tsx create mode 100644 docs/src/components/icons/nodejs.tsx create mode 100644 docs/src/components/icons/typescript.tsx create mode 100644 docs/src/index.d.ts create mode 100644 docs/src/pages/_example_authorization_server.mdx create mode 100644 docs/src/pages/_example_entities.mdx create mode 100644 docs/src/pages/_example_repositories.mdx create mode 100644 docs/src/pages/_index_install.mdx delete mode 100644 docs/src/pages/index.module.css rename docs/src/pages/{markdown-page.md => markdown-page.mdx} (100%) create mode 100644 docs/src/theme/MDXComponents.tsx delete mode 100644 docs/static/img/undraw_docusaurus_mountain.svg delete mode 100644 docs/static/img/undraw_docusaurus_react.svg delete mode 100644 docs/static/img/undraw_docusaurus_tree.svg diff --git a/docs/.idea/.gitignore b/docs/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/docs/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/docs/.idea/codeStyles/Project.xml b/docs/.idea/codeStyles/Project.xml new file mode 100644 index 00000000..de6ae2a7 --- /dev/null +++ b/docs/.idea/codeStyles/Project.xml @@ -0,0 +1,89 @@ + + + + \ No newline at end of file diff --git a/docs/.idea/codeStyles/codeStyleConfig.xml b/docs/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 00000000..79ee123c --- /dev/null +++ b/docs/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/docs/.idea/dbnavigator.xml b/docs/.idea/dbnavigator.xml new file mode 100644 index 00000000..b827a9b3 --- /dev/null +++ b/docs/.idea/dbnavigator.xml @@ -0,0 +1,401 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/.idea/docs.iml b/docs/.idea/docs.iml new file mode 100644 index 00000000..ddbae112 --- /dev/null +++ b/docs/.idea/docs.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/.idea/modules.xml b/docs/.idea/modules.xml new file mode 100644 index 00000000..6049cfe0 --- /dev/null +++ b/docs/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/docs/.idea/vcs.xml b/docs/.idea/vcs.xml new file mode 100644 index 00000000..6c0b8635 --- /dev/null +++ b/docs/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/docs/misc/access_tokens/index.md b/docs/docs/access_tokens.md similarity index 79% rename from docs/docs/misc/access_tokens/index.md rename to docs/docs/access_tokens.md index 414ca81d..a92ac9ad 100644 --- a/docs/docs/misc/access_tokens/index.md +++ b/docs/docs/access_tokens.md @@ -1,12 +1,14 @@ -# Access Token +--- +sidebar_position: 5 +--- -## Optional Claims +# JWT / Access Tokens -### Issuer (**iss** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.1)) +## Issuer (**iss** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.1)) You can customize the `iss` property by setting the `issuer` property in [the AuthorizationServer configuration](/configuration/). -### Audience (**aud** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.3)) +## Audience (**aud** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.3)) You can customize the `aud` field by passing `aud`. @@ -15,7 +17,7 @@ You can customize the `aud` field by passing `aud`. | `/token` | `aud` \| `audience` | `aud` \| `audience` | | `/authorize` | `aud` \| `audience` | | -## Implementing `extraTokenFields` +## Extra Token Fields You can add additional properties to the encoded access token by implementing the `extraTokenFields` method in your `JwtService` class. diff --git a/docs/docs/adapters/express.md b/docs/docs/adapters/express.md index 783666c8..8798318c 100644 --- a/docs/docs/adapters/express.md +++ b/docs/docs/adapters/express.md @@ -2,6 +2,8 @@ [Express](https://expressjs.com/) +Adapts the [Express.Request](https://expressjs.com/en/api.html#req) and [Express.Response](https://expressjs.com/en/api.html#res) for use with `@jmondi/oauth2-server`. + ```typescript import { requestFromExpress, diff --git a/docs/docs/adapters/fastify.md b/docs/docs/adapters/fastify.md index 07cd3cb7..bdeba981 100644 --- a/docs/docs/adapters/fastify.md +++ b/docs/docs/adapters/fastify.md @@ -1,6 +1,6 @@ # Fastify -[Fastify](https://www.fastify.io/) +Adapts the [Fastify.Request](https://fastify.dev/docs/latest/Reference/Request/) and [Fastify.Reply](https://fastify.dev/docs/latest/Reference/Reply/) for use with `@jmondi/oauth2-server`. ```typescript import { diff --git a/docs/docs/adapters/index.md b/docs/docs/adapters/index.md index 65a539a2..586b9be1 100644 --- a/docs/docs/adapters/index.md +++ b/docs/docs/adapters/index.md @@ -5,4 +5,8 @@ sidebar_position: 4 # Adapters -Adapters are a set of helper functions to provide framework specific integration into `@jmondi/oauth2-server`. Currently, Express and Fastify are both supported. +Adapters are a set of helper functions to provide framework specific integration into `@jmondi/oauth2-server`. We provide adapters for some common tools: + +- [Express](./express) - If you're using Express, you can use the `@jmondi/oauth2-server/express` adapter. +- [Fastify](./fastify) - If you're using Fastify, you can use the `@jmondi/oauth2-server/fastify` adapter. +- [VanillaJS](./vanilla) - If you're using Honojs, Sveltekit or Nextjs, you can use the `@jmondi/oauth2-server/vanilla` adapter. diff --git a/docs/docs/adapters/vanilla.md b/docs/docs/adapters/vanilla.md index eba6cd93..4f6b9642 100644 --- a/docs/docs/adapters/vanilla.md +++ b/docs/docs/adapters/vanilla.md @@ -10,6 +10,8 @@ Available in >3.4.0 ::: +Adapts the Fetch [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) and [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) for use with `@jmondi/oauth2-server`. + ```typescript import { requestFromVanilla, diff --git a/docs/docs/authorization_server/configuration.md b/docs/docs/authorization_server/configuration.md deleted file mode 100644 index e015f7fb..00000000 --- a/docs/docs/authorization_server/configuration.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -sidebar_position: 7 ---- diff --git a/docs/docs/getting_started/index.mdx b/docs/docs/getting_started/index.mdx index a9f812aa..34143532 100644 --- a/docs/docs/getting_started/index.mdx +++ b/docs/docs/getting_started/index.mdx @@ -2,6 +2,7 @@ sidebar_position: 1 --- +import Installation from "../../src/pages/_index_install.mdx" import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import CodeBlock from "@theme/CodeBlock"; @@ -32,26 +33,7 @@ This section provides a high-level overview of setting up the OAuth2 server. Choose your preferred package manager to install @jmondi/oauth2-server: - - - pnpm add @jmondi/oauth2-server - - - npm install --save @jmondi/oauth2-server - - - yarn add @jmondi/oauth2-server - - - npx jsr add @jmondi/oauth2-server - - - deno add @jmondi/oauth2-server - - - bunx jsr add @jmondi/oauth2-server - - + ## Basic Setup @@ -67,6 +49,7 @@ const authorizationServer = new AuthorizationServer( "secret-key", ); authorizationServer.enableGrantType("client_credentials"); +// other grant types you want to enable ``` For a complete list of configuration options, refer to the [configuration documentation](../configuration/index.md). diff --git a/docs/docs/misc/glossary/index.md b/docs/docs/glossary.md similarity index 53% rename from docs/docs/misc/glossary/index.md rename to docs/docs/glossary.md index 2fdcf783..3b229891 100644 --- a/docs/docs/misc/glossary/index.md +++ b/docs/docs/glossary.md @@ -1,13 +1,17 @@ --- title: Glossary +sidebar_position: 7 --- # Glossary -## Resource Server +### Resource Server The resource server is the OAuth 2.0 term for your API server. The resource server handles authenticated requests after the client has obtained an access token. -## Client +### Client The application attempting to gain access to the resource server. The client must have an [OAuthClient](../../entities/index.md#client-entity) + +[access_token_response]: https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/ "Access Token Response" +[client_credentials]: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ "Client Credentials Grant" diff --git a/docs/docs/grants/index.md b/docs/docs/grants/index.md index 5d855079..bf6a5abc 100644 --- a/docs/docs/grants/index.md +++ b/docs/docs/grants/index.md @@ -5,8 +5,8 @@ sidebar_position: 3 # Which Grant? -Grants are different ways a [client](../misc/glossary/index.md#client) can obtain an `access_token` that will authorize -it to use the [resource server](../misc/glossary/index.md#resource-server). +Grants are different ways a [client](../glossary.md#client) can obtain an `access_token` that will authorize +it to use the [resource server](../glossary.md#resource-server). Deciding which grant to use depends on the type of client the end user will be using. @@ -14,45 +14,41 @@ Deciding which grant to use depends on the type of client the end user will be u +-------+ | Start | +-------+ + V + | | ++------------------------+ +-----------------------+ +| Have a refresh token? |>----Yes----->| Refresh Token Grant | ++------------------------+ +-----------------------+ V -+------------------------+ -| Have a refresh token? | -+------------------------+ | - +-----No-------------------+ - | | - V V -+---------------------+ +------------------------+ -| Who is the | | Refresh Token Grant | -| access token owner? | | (Use refresh token to | -+---------------------+ | get new access token) | - | +------------------------+ + No | - +-----A Machine-----+ - | | - V V -+----------------------+ +---------------------------+ -| What type of client? | | Client Credentials Grant | -+----------------------+ | (For machine-to-machine | - | | communication) | - | +---------------------------+ ++---------------------+ +| Who is the | +--------------------------+ +| Access token owner? |>---A Machine---->| Client Credentials Grant | ++---------------------+ +--------------------------+ + V | - +-----Server App--------+ - | | - +-----Browser-based-----+ +---------------------------+ - | App +--->| Authorization Code Grant | - | | | with PKCE | - +-----Native Mobile-----+ | (More secure, supports | - App | public clients) | - +---------------------------+ - -Notes: -1. Always use HTTPS for all OAuth 2.0 interactions -2. For public clients (browser-based and mobile apps), always use PKCE -3. Securely store tokens and other sensitive information -4. Implement proper token validation and revocation -5. Consider using OpenID Connect for authentication on top of OAuth 2.0 + | + A User + | + | ++----------------------+ +| What type of client? | ++----------------------+ + | + | +---------------------------+ + |>-----------Server App---------->| Auth Code Grant with PKCE | + | +---------------------------+ + | + | +---------------------------+ + |>-------Browser Based App------->| Auth Code Grant with PKCE | + | +---------------------------+ + | + | +---------------------------+ + |>-------Native Mobile App------->| Auth Code Grant with PKCE | + +---------------------------+ ``` ### Refresh Token Grant diff --git a/docs/docs/misc/index.md b/docs/docs/misc/index.md deleted file mode 100644 index 4576fedb..00000000 --- a/docs/docs/misc/index.md +++ /dev/null @@ -1 +0,0 @@ -# Miscellaneous diff --git a/docs/docs/misc/utils/index.md b/docs/docs/misc/utils/index.md deleted file mode 100644 index 44ee6097..00000000 --- a/docs/docs/misc/utils/index.md +++ /dev/null @@ -1,26 +0,0 @@ -# Utils - -## JwtService - -@see [JwtService](https://github.com/jasonraimondi/ts-oauth2-server/blob/main/src/utils/jwt.ts) - -Using [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) - -### Example Extra Params Usage - -```typescript -import { JwtService } from "@jmondi/oauth2-server"; - -export class MyCustomJwtService extends JwtService { - extraTokenFields({ user, client }: ExtraAccessTokenFieldArgs) { - return { - email: user?.email, - client_id: client.id, - }; - } -} -``` - -## DateInterval - -using [ms](https://github.com/vercel/ms) diff --git a/docs/docs/references.md b/docs/docs/references.md new file mode 100644 index 00000000..48071196 --- /dev/null +++ b/docs/docs/references.md @@ -0,0 +1,18 @@ +--- +sidebar_position: 9 +--- + +# References + +- https://github.com/thephpleague/oauth2-server - This project was influenced by the [PHP League OAuth2 Server](https://oauth2.thephpleague.com/) and shares a lot of the same ideas. +- https://tools.ietf.org/html/rfc6749#section-4.4 +- https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ +- https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/ +- https://tools.ietf.org/html/rfc6749#section-4.1 +- https://tools.ietf.org/html/rfc7009 +- https://tools.ietf.org/html/rfc7636 +- https://www.oauth.com/oauth2-servers/pkce/ +- https://www.oauth.com/oauth2-servers/pkce/authorization-request/ + +[access_token_response]: https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/ "Access Token Response" +[client_credentials]: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ "Client Credentials Grant" diff --git a/docs/docs/sources/index.md b/docs/docs/sources/index.md deleted file mode 100644 index 70bea224..00000000 --- a/docs/docs/sources/index.md +++ /dev/null @@ -1,24 +0,0 @@ -# Sources - -This project was influenced by the [PHP League OAuth2 Server](https://oauth2.thephpleague.com/) and shares a lot of the same ideas. - -https://github.com/thephpleague/oauth2-server - -https://tools.ietf.org/html/rfc6749#section-4.4 - -https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ - -https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/ - -https://tools.ietf.org/html/rfc6749#section-4.1 - -https://tools.ietf.org/html/rfc7009 - -https://tools.ietf.org/html/rfc7636 - -https://www.oauth.com/oauth2-servers/pkce/ - -https://www.oauth.com/oauth2-servers/pkce/authorization-request/ - -[access_token_response]: https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/ "Access Token Response" -[client_credentials]: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ "Client Credentials Grant" diff --git a/docs/docs/upgrade_guide.md b/docs/docs/upgrade_guide.md index d06edf72..90abd34c 100644 --- a/docs/docs/upgrade_guide.md +++ b/docs/docs/upgrade_guide.md @@ -1,13 +1,11 @@ --- -sidebar_position: 5 +sidebar_position: 6 --- # Upgrade Guide ## Migrating from v2 to v3 -[[toc]] - ### This package is now pure ESM The package is now entirely ESM (ECMAScript Modules). More details about this change can be found in [Sindre Sorhus's writeup](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 27889fe1..fc8bcf9e 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -34,6 +34,7 @@ const config: Config = { editUrl: "https://github.com/jasonraimondi/ts-oauth2-server/tree/main/", }, theme: { + customCss: "./src/css/custom.css", }, } satisfies Preset.Options, @@ -57,7 +58,7 @@ const config: Config = { position: "right", }, { - href: "/docs/configuration/", + href: "/docs/authorization_server/configuration/", label: "Config", position: "right", }, diff --git a/docs/src/components/CodeExamples.mdx b/docs/src/components/CodeExamples.mdx new file mode 100644 index 00000000..d0ec4b28 --- /dev/null +++ b/docs/src/components/CodeExamples.mdx @@ -0,0 +1,14 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + pnpm add @jmondi/oauth2-server + + + npm install --save-dev @jmondi/oauth2-server + + + yarn add @jmondi/oauth2-server + + diff --git a/docs/src/components/HomepageFeatures/examples/entites/auth_code_entites.ts b/docs/src/components/HomepageFeatures/examples/entites/auth_code_entites.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/src/components/HomepageFeatures/examples/entites/client_entites.ts b/docs/src/components/HomepageFeatures/examples/entites/client_entites.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx deleted file mode 100644 index 275eacf5..00000000 --- a/docs/src/components/HomepageFeatures/index.tsx +++ /dev/null @@ -1,122 +0,0 @@ -import clsx from "clsx"; -import Heading from "@theme/Heading"; -import styles from "./styles.module.css"; -import CodeBlock from "@theme/CodeBlock"; - -type FeatureItem = { - title: string; - description: JSX.Element; -}; - -const FeatureList: FeatureItem[] = [ - { - title: "Implement Entities", - description: ( - <> - - {` -import { OAuthClient, OAuthAuthCode, OAuthUser, OAuthScope, GrantIdentifier, ScopeEntity, CodeChallengeMethod } from '@jmondi/oauth2-server'; - -class ClientEntity implements OAuthClient { - readonly id: string; - name: string; - secret: string | null; - redirectUris: string[]; - allowedGrants: GrantIdentifier[]; - scopes: ScopeEntity[]; - createdAt: Date; - updatedAt: Date | null; -} - `.trim()} - - - {` -import { OAuthClient, OAuthAuthCode, OAuthUser, OAuthScope, GrantIdentifier, ScopeEntity, CodeChallengeMethod } from '@jmondi/oauth2-server'; - -class ClientEntity implements OAuthClient { - readonly id: string; - name: string; - secret: string | null; - redirectUris: string[]; - allowedGrants: GrantIdentifier[]; - scopes: ScopeEntity[]; - createdAt: Date; - updatedAt: Date | null; -} - `.trim()} - - - ), - }, - { - title: "Implement Repositories", - description: ( - - {` -import { PrismaClient } from "@prisma/client"; -import { GrantIdentifier, OAuthClient, OAuthClientRepository } from "@jmondi/oauth2-server"; - -import { Client } from "../entities/client.js"; - -export class ClientRepository implements OAuthClientRepository { - constructor(private readonly prisma: PrismaClient) {} - - async getByIdentifier(clientId: string): Promise { - return await this.prisma.oAuthClient.findUniqueOrThrow({ - where: { - id: clientId, - }, - include: { - scopes: true, - }, - }); - } - - async isClientValid( - grantType: GrantIdentifier, - client: OAuthClient, - clientSecret?: string, - ): Promise { - // implement me (see examples) - } -}`.trim()} - - ), - }, - // { - // title: "Authorization Server", - // description: ( - // <> - // Built to comply with OAuth2 and OpenID Connect standards, ensuring interoperability and - // security. Supports various grant types including Authorization Code, Client Credentials, - // and Refresh Token. - // - // ), - // }, -]; - -function Feature({ title, description }: FeatureItem) { - return ( -
- {title} -
{description}
-
- ); -} - -export default function HomepageFeatures(): JSX.Element { - return ( - <> -
-
- {FeatureList.map((props, idx) => ( - - ))} -
-
-
-

I am jason

-
- - ); -} diff --git a/docs/src/components/HomepageFeatures/styles.module.css b/docs/src/components/HomepageFeatures/styles.module.css deleted file mode 100644 index b248eb2e..00000000 --- a/docs/src/components/HomepageFeatures/styles.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureSvg { - height: 200px; - width: 200px; -} diff --git a/docs/src/components/MarkdownWrapper.tsx b/docs/src/components/MarkdownWrapper.tsx new file mode 100644 index 00000000..1b7c8ba0 --- /dev/null +++ b/docs/src/components/MarkdownWrapper.tsx @@ -0,0 +1,17 @@ +import React from 'react'; + +interface MDXWrapperProps { + children: React.ReactNode; +} + +const MDXWrapper: React.FC = ({ children }) => { + return ( +
+
+ {children} +
+
+ ); +}; + +export default MDXWrapper; diff --git a/docs/src/components/icons.tsx b/docs/src/components/icons.tsx new file mode 100644 index 00000000..0cab176c --- /dev/null +++ b/docs/src/components/icons.tsx @@ -0,0 +1,31 @@ +import { SVGProps } from "react"; + +export function IconPackOauth(props: SVGProps) { + return ( + + + + + + + + ); +} diff --git a/docs/src/components/icons/nodejs.tsx b/docs/src/components/icons/nodejs.tsx new file mode 100644 index 00000000..dad9d83d --- /dev/null +++ b/docs/src/components/icons/nodejs.tsx @@ -0,0 +1,30 @@ +import { SVGProps } from "react"; + +export default function Nodejs(props: SVGProps) { + return ( + + + + + + + + ); +} diff --git a/docs/src/components/icons/typescript.tsx b/docs/src/components/icons/typescript.tsx new file mode 100644 index 00000000..ce7ab21c --- /dev/null +++ b/docs/src/components/icons/typescript.tsx @@ -0,0 +1,32 @@ +import { SVGProps } from "react"; + +export default function Typescript(props: SVGProps) { + return ( + + + + + + + + ); +} diff --git a/docs/src/index.d.ts b/docs/src/index.d.ts new file mode 100644 index 00000000..2c3ab236 --- /dev/null +++ b/docs/src/index.d.ts @@ -0,0 +1,5 @@ +declare module '*.mdx' { + import type { ComponentProps, ComponentType } from 'react'; + const MDXComponent: ComponentType>; + export default MDXComponent; +} diff --git a/docs/src/pages/_example_authorization_server.mdx b/docs/src/pages/_example_authorization_server.mdx new file mode 100644 index 00000000..75f0d6f6 --- /dev/null +++ b/docs/src/pages/_example_authorization_server.mdx @@ -0,0 +1,5 @@ +import CodeBlock from '@theme/CodeBlock'; + +{` +const foo = "bar"; +`.trim()} diff --git a/docs/src/pages/_example_entities.mdx b/docs/src/pages/_example_entities.mdx new file mode 100644 index 00000000..829ff7d7 --- /dev/null +++ b/docs/src/pages/_example_entities.mdx @@ -0,0 +1,34 @@ +import CodeBlock from '@theme/CodeBlock'; + +{` +// entities/client_entity.ts + +import { OAuthClient, OAuthAuthCode, OAuthUser, OAuthScope, GrantIdentifier, ScopeEntity, CodeChallengeMethod } from '@jmondi/oauth2-server'; + +class ClientEntity implements OAuthClient { + readonly id: string; + name: string; + secret: string | null; + redirectUris: string[]; + allowedGrants: GrantIdentifier[]; + scopes: ScopeEntity[]; + createdAt: Date; + updatedAt: Date | null; +} +`.trim()} + +{` +// entities/user_entity.ts + +import { OAuthUser } from "@jmondi/oauth2-server"; + +export class User implements OAuthUser { + readonly id: string; + email: string; + passwordHash: string | null; + tokenVersion = 0; + lastLoginAt: Date | null; + createdAt: Date; + updatedAt: Date | null; +} +`.trim()} diff --git a/docs/src/pages/_example_repositories.mdx b/docs/src/pages/_example_repositories.mdx new file mode 100644 index 00000000..9807f1c9 --- /dev/null +++ b/docs/src/pages/_example_repositories.mdx @@ -0,0 +1,33 @@ +import CodeBlock from '@theme/CodeBlock'; + +{` +// repositories/client_repository.ts + +import { PrismaClient } from "@prisma/client"; +import { GrantIdentifier, OAuthClient, OAuthClientRepository } from "@jmondi/oauth2-server"; + +import { Client } from "../entities/client.js"; + +export class ClientRepository implements OAuthClientRepository { + constructor(private readonly prisma: PrismaClient) {} + + async getByIdentifier(clientId: string): Promise { + return await this.prisma.oAuthClient.findUniqueOrThrow({ + where: { + id: clientId, + }, + include: { + scopes: true, + }, + }); + } + + async isClientValid( + grantType: GrantIdentifier, + client: OAuthClient, + clientSecret?: string, + ): Promise { + // implement me (see examples) + } +} +`.trim()} diff --git a/docs/src/pages/_index_install.mdx b/docs/src/pages/_index_install.mdx new file mode 100644 index 00000000..881214b5 --- /dev/null +++ b/docs/src/pages/_index_install.mdx @@ -0,0 +1,24 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import CodeBlock from "@theme/CodeBlock"; + + + + pnpm add @jmondi/oauth2-server + + + npm install --save @jmondi/oauth2-server + + + yarn add @jmondi/oauth2-server + + + npx jsr add @jmondi/oauth2-server + + + deno add @jmondi/oauth2-server + + + bunx jsr add @jmondi/oauth2-server + + diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css deleted file mode 100644 index 9f71a5da..00000000 --- a/docs/src/pages/index.module.css +++ /dev/null @@ -1,23 +0,0 @@ -/** - * CSS files with the .module.css suffix will be treated as CSS modules - * and scoped locally. - */ - -.heroBanner { - padding: 4rem 0; - text-align: center; - position: relative; - overflow: hidden; -} - -@media screen and (max-width: 996px) { - .heroBanner { - padding: 2rem; - } -} - -.buttons { - display: flex; - align-items: center; - justify-content: center; -} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index e415bb79..1c72042a 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -1,89 +1,47 @@ -import clsx from "clsx"; -import Link from "@docusaurus/Link"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import Layout from "@theme/Layout"; -import HomepageFeatures from "@site/src/components/HomepageFeatures"; - import Heading from "@theme/Heading"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; +import { IconPackOauth } from "@site/src/components/icons"; -import styles from "./index.module.css"; -import CodeBlock from "@theme/CodeBlock"; -import { Card } from "@site/src/components/Card"; -import { SpikesDivider } from "../components/dividers/Spikes"; -import { TriangleDivider } from "../components/dividers/Triangle"; +import HowToInstall from "./_index_install.mdx"; +import ExampleEntities from "./_example_entities.mdx"; +import ExampleRepositories from "./_example_repositories.mdx"; +import ExampleAuthorizationServer from "./_example_authorization_server.mdx"; +import MarkdownWrapper from "@site/src/components/MarkdownWrapper"; -function HomepageHeader() { - const { siteConfig } = useDocusaurusContext(); +export function GithubLogo() { return ( -
-
- - {siteConfig.title} - -

{siteConfig.tagline}

+ + + + ); +} - -
-
+export function NPMLogo() { + return ( + + + + + + + ); +} + +export function JSRLogo() { + return ( + + + + + + + + ); } @@ -94,26 +52,49 @@ export default function Home() { title={`@jmondi/oauth2-server`} description="Description will go into a meta tag in " > - - +
+
+
+
+
+ +
+
+ + + ts-oauth2-server + +
-
-
- - - pnpm add @jmondi/oauth2-server - - - npm install --save-dev @jmondi/oauth2-server - - - yarn add @jmondi/oauth2-server - - +

{siteConfig.tagline}

+
+ +
+ + +
- + +
+ +
+
+

Quick Example

+
+
+ +
+
+
+
+

Authorization Server

+ +
+
+
); } diff --git a/docs/src/pages/markdown-page.md b/docs/src/pages/markdown-page.mdx similarity index 100% rename from docs/src/pages/markdown-page.md rename to docs/src/pages/markdown-page.mdx diff --git a/docs/src/theme/MDXComponents.tsx b/docs/src/theme/MDXComponents.tsx new file mode 100644 index 00000000..8889d19f --- /dev/null +++ b/docs/src/theme/MDXComponents.tsx @@ -0,0 +1,14 @@ +import React from 'react'; +// Import the original mapper +import MDXComponents from '@theme-original/MDXComponents'; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +export default { + // Re-use the default mapping + ...MDXComponents, + // Map the "" tag to our Highlight component + // `Highlight` will receive all props that were passed to `` in MDX + Tabs, + TabItem, +}; diff --git a/docs/static/img/docusaurus.png b/docs/static/img/docusaurus.png index f458149e3c8f53335f28fbc162ae67f55575c881..1663fe688692ef70ebff18ee9bc07e0a308412ab 100644 GIT binary patch literal 5124 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 F{0H{b<4^zq diff --git a/docs/static/img/favicon.ico b/docs/static/img/favicon.ico index c01d54bcd39a5f853428f3cd5aa0f383d963c484..4b63061e339aec3538dac360926205423427be12 100644 GIT binary patch literal 15406 zcmeI1d5Be27{Jea;~t?Bf|UtqGr4EnqMCpB0Eai{DO;qg- zQ(-}sUU>pO7tG|W^^HgHw}F=lqKD$dx23~4wI=oALaq~LN6#o5`|Pa zod{tAx_$`t>L(MSkn5B9vbv0iLo$RF)S+(J0WGVB&@5d(fnEb;Ne}$LNTt0Y99(2DW zgzM0ml!K61)!;l@T;xd$Jpf z(p-&Rn&kT$v@wz2z`D$b z%6Ia3}`bwSDc|U-Ln{PJ!!@b>s_Z44DwupNVh|%>Ae)a&q)YEEO7+l z2*eSHBM?U*jzAoN%tyd)dCvu3=7q~|*X7{(p%jAmUIAarYQz6Y?!+0tvj@XO7!RI9 z_`lS7Fac)53>XQ$;Q`=i;+hIac;R{QEYmZLU%<1I7s2xr&s01=v=95i^PU4ap8Hk_ z?^1pnGJT#xljRa)_c(kAp0O0baL#)?i(Lah!Z!E_eg@Cn+QJz~!5kO_?V&1Err>61 z2LoUMc#dg|`@Z|u0gU;{}tOEPwJc#<>SUHax zL$*cVJfk;% z685;Hv4@299m8l0rcrh+%eI)mQ=!!V(irN`E>=Ku#kI02TrIAT&I5DZ@p7GV>>~fo zt2K~qS%-mA{}UyBILNhgmp+te{ptZ%OKWbpCtG(bxKHeX$p5)?(6+NJg&3FsQT$zd z%x7co9M-=@P!p~cb6bDSe{)Ceei8Zap0E(IEu%0n9xi}=(0|uMrE){b z+OwJq^T&E>bI85fHtfUK;M$OFc@_g>;RtA3%pv`991ei{?5n`mP$G};*W9q4akszL zjh=TubN)UI*_MVF=m+Z|vahy3MQQYHDRcq%>e*ob{9Ud8S3YZA^@m1~ZK;ZZuJAe( zL*$3~bewf)Bl;L~(Kx3d%9*2-eJ8b_=OKDd-4{ARHK+`^8zb8M3|s^8C!udqPMiO` z!9Ez<6u54>w*CrH{4Y{=&ay9r=1^Hec*6@Y5S(}Bg!3XVUDn4_;Qn-&%FfdioP&HY z*8a8vhC(~2Y{|jk6EF-$!D>i>^YA%X2F~+Aa0&XR^&Iqfuo!%{E!&B0T?^4}dl<_1 zU{CZGSPH$t`QW#g@iq6mf&Da(^t(HBgv!c!O#Q34M&1j(;8VzlNiY+}z&Mx;BVaT* z9`^NqxK?q;^gqNnHiXB(_!fXUvXK0rkG3Bj;8v&wvBVLGBM?U*jzAoNI0A75;t0eM Kh$B$R5%>$HVi9Bj literal 3626 zcmb`Je@s(X6vrR`EK3%b%orErlDW({vnABqA zcfaS{d+xbU5JKp0*;0YOg+;Fl!eT)XRuapIwFLL`=imZCSon$`se`_<%@MB=M~KG+ z=EW^FL`w|Bo>*ktlaS^(fut!95`iG5u=SZ8nfDHO#GaTlH1-XG^;vsjUb^gWTVz0+ z^=WR1wv9-2oeR=_;fL0H7rNWqAzGtO(D;`~cX(RcN0w2v24Y8)6t`cS^_ghs`_ho? z{0ka~1Dgo8TfAP$r*ua?>$_V+kZ!-(TvEJ7O2f;Y#tezt$&R4 zLI}=-y@Z!grf*h3>}DUL{km4R>ya_I5Ag#{h_&?+HpKS!;$x3LC#CqUQ8&nM?X))Q zXAy2?`YL4FbC5CgJu(M&Q|>1st8XXLZ|5MgwgjP$m_2Vt0(J z&Gu7bOlkbGzGm2sh?X`){7w69Y$1#@P@7DF{ZE=4%T0NDS)iH`tiPSKpDNW)zmtn( zw;4$f>k)4$LBc>eBAaTZeCM2(iD+sHlj!qd z2GjRJ>f_Qes(+mnzdA^NH?^NB(^o-%Gmg$c8MNMq&`vm@9Ut;*&$xSD)PKH{wBCEC z4P9%NQ;n2s59ffMn8*5)5AAg4-93gBXBDX`A7S& zH-|%S3Wd%T79fk-e&l`{!?lve8_epXhE{d3Hn$Cg!t=-4D(t$cK~7f&4s?t7wr3ZP z*!SRQ-+tr|e1|hbc__J`k3S!rMy<0PHy&R`v#aJv?`Y?2{avK5sQz%=Us()jcNuZV z*$>auD4cEw>;t`+m>h?f?%VFJZj8D|Y1e_SjxG%J4{-AkFtT2+ZZS5UScS~%;dp!V>)7zi`w(xwSd*FS;Lml=f6hn#jq)2is4nkp+aTrV?)F6N z>DY#SU0IZ;*?Hu%tSj4edd~kYNHMFvS&5}#3-M;mBCOCZL3&;2obdG?qZ>rD|zC|Lu|sny76pn2xl|6sk~Hs{X9{8iBW zwiwgQt+@hi`FYMEhX2 \ No newline at end of file + + + + + + + + + diff --git a/docs/static/img/undraw_docusaurus_mountain.svg b/docs/static/img/undraw_docusaurus_mountain.svg deleted file mode 100644 index af961c49..00000000 --- a/docs/static/img/undraw_docusaurus_mountain.svg +++ /dev/null @@ -1,171 +0,0 @@ - - Easy to Use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/static/img/undraw_docusaurus_react.svg b/docs/static/img/undraw_docusaurus_react.svg deleted file mode 100644 index 94b5cf08..00000000 --- a/docs/static/img/undraw_docusaurus_react.svg +++ /dev/null @@ -1,170 +0,0 @@ - - Powered by React - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/static/img/undraw_docusaurus_tree.svg b/docs/static/img/undraw_docusaurus_tree.svg deleted file mode 100644 index d9161d33..00000000 --- a/docs/static/img/undraw_docusaurus_tree.svg +++ /dev/null @@ -1,40 +0,0 @@ - - Focus on What Matters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From d0a7db0a93c29bcc4c80afa91216f55ff4d40d07 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Mon, 1 Jul 2024 23:51:35 -0400 Subject: [PATCH 05/18] docs(fix): broken links --- docs/docs/access_tokens.md | 2 +- docs/docs/getting_started/index.mdx | 2 +- docs/docs/glossary.md | 2 +- docs/docs/grants/authorization_code.mdx | 2 +- docs/docs/upgrade_guide.md | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/docs/access_tokens.md b/docs/docs/access_tokens.md index a92ac9ad..765b6445 100644 --- a/docs/docs/access_tokens.md +++ b/docs/docs/access_tokens.md @@ -6,7 +6,7 @@ sidebar_position: 5 ## Issuer (**iss** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.1)) -You can customize the `iss` property by setting the `issuer` property in [the AuthorizationServer configuration](/configuration/). +You can customize the `iss` property by setting the `issuer` property in [the AuthorizationServer configuration](./authorization_server/configuration.mdx). ## Audience (**aud** [rfc](https://tools.ietf.org/html/rfc7519#section-4.1.3)) diff --git a/docs/docs/getting_started/index.mdx b/docs/docs/getting_started/index.mdx index 34143532..4df0b245 100644 --- a/docs/docs/getting_started/index.mdx +++ b/docs/docs/getting_started/index.mdx @@ -52,7 +52,7 @@ authorizationServer.enableGrantType("client_credentials"); // other grant types you want to enable ``` -For a complete list of configuration options, refer to the [configuration documentation](../configuration/index.md). +For a complete list of configuration options, refer to the [configuration documentation](../authorization_server/configuration.mdx). ## Endpoints diff --git a/docs/docs/glossary.md b/docs/docs/glossary.md index 3b229891..ec342440 100644 --- a/docs/docs/glossary.md +++ b/docs/docs/glossary.md @@ -11,7 +11,7 @@ The resource server is the OAuth 2.0 term for your API server. The resource serv ### Client -The application attempting to gain access to the resource server. The client must have an [OAuthClient](../../entities/index.md#client-entity) +The application attempting to gain access to the resource server. The client must have an [OAuthClient](./getting_started/entities.md#client-entity) [access_token_response]: https://www.oauth.com/oauth2-servers/access-tokens/access-token-response/ "Access Token Response" [client_credentials]: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/ "Client Credentials Grant" diff --git a/docs/docs/grants/authorization_code.mdx b/docs/docs/grants/authorization_code.mdx index b531db87..8098d4c3 100644 --- a/docs/docs/grants/authorization_code.mdx +++ b/docs/docs/grants/authorization_code.mdx @@ -120,7 +120,7 @@ Pragma: no-cache PKCE ([RFC 7636](https://tools.ietf.org/html/rfc7636)) is an extension to the [Authorization Code flow](https://oauth.net/2/grant-types/authorization-code/) to prevent several attacks and to be able to securely perform the OAuth exchange from public clients. By default, PKCE is enabled and encouraged for all users. If you need to support a legacy client system without PKCE, -you can disable PKCE with the authorization server using the `requiresPKCE` [configuration option](../configuration/index.md). +you can disable PKCE with the authorization server using the `requiresPKCE` [configuration option](../authorization_server/configuration.mdx). #### Code Verifier diff --git a/docs/docs/upgrade_guide.md b/docs/docs/upgrade_guide.md index 90abd34c..d7554a54 100644 --- a/docs/docs/upgrade_guide.md +++ b/docs/docs/upgrade_guide.md @@ -52,7 +52,7 @@ In v3, `enableGrantType` has been updated for the **"authorization_code"** and * #### Authorization Code Grant -`AuthorizationCodeGrant` now requires a [AuthorizationCodeRepository](../../repositories/index.md#authorization-code-repository) and a [UserRepository](../../repositories/index.md#user-repository). +`AuthorizationCodeGrant` now requires a [AuthorizationCodeRepository](./getting_started/repositories.md#authorization-code-repository) and a [UserRepository](./getting_started/repositories.md#user-repository). **Before (v2.x):** @@ -72,7 +72,7 @@ authorizationServer.enableGrantType({ #### Password Grant -`PasswordGrant` now requires a [UserRepository](../../repositories/index.md#user-repository). +`PasswordGrant` now requires a [UserRepository](./getting_started/repositories.md#user-repository). **Before (v2.x):** From e7f43a6dfbaebbb0b9f9acfc8fe777360fe98fc9 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 10:22:10 -0400 Subject: [PATCH 06/18] chore: prettier format --- docs/docs/getting_started/index.mdx | 2 +- docs/docusaurus.config.ts | 1 - docs/src/components/MarkdownWrapper.tsx | 6 +- docs/src/index.d.ts | 6 +- .../pages/_example_authorization_server.mdx | 8 ++- docs/src/pages/_example_entities.mdx | 28 +++++--- docs/src/pages/_example_repositories.mdx | 36 +++++----- docs/src/pages/index.tsx | 65 ++++++++++++++----- docs/src/theme/MDXComponents.tsx | 4 +- package.json | 2 +- 10 files changed, 100 insertions(+), 58 deletions(-) diff --git a/docs/docs/getting_started/index.mdx b/docs/docs/getting_started/index.mdx index 4df0b245..860dcd74 100644 --- a/docs/docs/getting_started/index.mdx +++ b/docs/docs/getting_started/index.mdx @@ -2,7 +2,7 @@ sidebar_position: 1 --- -import Installation from "../../src/pages/_index_install.mdx" +import Installation from "../../src/pages/_index_install.mdx"; import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import CodeBlock from "@theme/CodeBlock"; diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index fc8bcf9e..e8347008 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -34,7 +34,6 @@ const config: Config = { editUrl: "https://github.com/jasonraimondi/ts-oauth2-server/tree/main/", }, theme: { - customCss: "./src/css/custom.css", }, } satisfies Preset.Options, diff --git a/docs/src/components/MarkdownWrapper.tsx b/docs/src/components/MarkdownWrapper.tsx index 1b7c8ba0..282998f4 100644 --- a/docs/src/components/MarkdownWrapper.tsx +++ b/docs/src/components/MarkdownWrapper.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React from "react"; interface MDXWrapperProps { children: React.ReactNode; @@ -7,9 +7,7 @@ interface MDXWrapperProps { const MDXWrapper: React.FC = ({ children }) => { return (
-
- {children} -
+
{children}
); }; diff --git a/docs/src/index.d.ts b/docs/src/index.d.ts index 2c3ab236..ab30ec34 100644 --- a/docs/src/index.d.ts +++ b/docs/src/index.d.ts @@ -1,5 +1,5 @@ -declare module '*.mdx' { - import type { ComponentProps, ComponentType } from 'react'; - const MDXComponent: ComponentType>; +declare module "*.mdx" { + import type { ComponentProps, ComponentType } from "react"; + const MDXComponent: ComponentType>; export default MDXComponent; } diff --git a/docs/src/pages/_example_authorization_server.mdx b/docs/src/pages/_example_authorization_server.mdx index 75f0d6f6..16104372 100644 --- a/docs/src/pages/_example_authorization_server.mdx +++ b/docs/src/pages/_example_authorization_server.mdx @@ -1,5 +1,7 @@ -import CodeBlock from '@theme/CodeBlock'; +import CodeBlock from "@theme/CodeBlock"; -{` + + {` const foo = "bar"; -`.trim()} +`.trim()} + diff --git a/docs/src/pages/_example_entities.mdx b/docs/src/pages/_example_entities.mdx index 829ff7d7..4329a730 100644 --- a/docs/src/pages/_example_entities.mdx +++ b/docs/src/pages/_example_entities.mdx @@ -1,19 +1,27 @@ -import CodeBlock from '@theme/CodeBlock'; +import CodeBlock from "@theme/CodeBlock"; {` // entities/client_entity.ts -import { OAuthClient, OAuthAuthCode, OAuthUser, OAuthScope, GrantIdentifier, ScopeEntity, CodeChallengeMethod } from '@jmondi/oauth2-server'; +import { + OAuthClient, + OAuthAuthCode, + OAuthUser, + OAuthScope, + GrantIdentifier, + ScopeEntity, + CodeChallengeMethod, +} from "@jmondi/oauth2-server"; class ClientEntity implements OAuthClient { - readonly id: string; - name: string; - secret: string | null; - redirectUris: string[]; - allowedGrants: GrantIdentifier[]; - scopes: ScopeEntity[]; - createdAt: Date; - updatedAt: Date | null; +readonly id: string; +name: string; +secret: string | null; +redirectUris: string[]; +allowedGrants: GrantIdentifier[]; +scopes: ScopeEntity[]; +createdAt: Date; +updatedAt: Date | null; } `.trim()} diff --git a/docs/src/pages/_example_repositories.mdx b/docs/src/pages/_example_repositories.mdx index 9807f1c9..cb288baa 100644 --- a/docs/src/pages/_example_repositories.mdx +++ b/docs/src/pages/_example_repositories.mdx @@ -1,4 +1,4 @@ -import CodeBlock from '@theme/CodeBlock'; +import CodeBlock from "@theme/CodeBlock"; {` // repositories/client_repository.ts @@ -11,23 +11,23 @@ import { Client } from "../entities/client.js"; export class ClientRepository implements OAuthClientRepository { constructor(private readonly prisma: PrismaClient) {} - async getByIdentifier(clientId: string): Promise { - return await this.prisma.oAuthClient.findUniqueOrThrow({ - where: { - id: clientId, - }, - include: { - scopes: true, - }, - }); - } +async getByIdentifier(clientId: string): Promise { +return await this.prisma.oAuthClient.findUniqueOrThrow({ +where: { +id: clientId, +}, +include: { +scopes: true, +}, +}); +} - async isClientValid( - grantType: GrantIdentifier, - client: OAuthClient, - clientSecret?: string, - ): Promise { - // implement me (see examples) - } +async isClientValid( +grantType: GrantIdentifier, +client: OAuthClient, +clientSecret?: string, +): Promise { +// implement me (see examples) +} } `.trim()} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 1c72042a..d605ac22 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -11,30 +11,55 @@ import MarkdownWrapper from "@site/src/components/MarkdownWrapper"; export function GithubLogo() { return ( - - + + ); } export function NPMLogo() { return ( - - + + - + ); } export function JSRLogo() { return ( - + @@ -71,10 +96,18 @@ export default function Home() {
- - - + + + + + + + + +
@@ -87,7 +120,9 @@ export default function Home() {
-
+
+ +

Authorization Server

diff --git a/docs/src/theme/MDXComponents.tsx b/docs/src/theme/MDXComponents.tsx index 8889d19f..90667e9a 100644 --- a/docs/src/theme/MDXComponents.tsx +++ b/docs/src/theme/MDXComponents.tsx @@ -1,6 +1,6 @@ -import React from 'react'; +import React from "react"; // Import the original mapper -import MDXComponents from '@theme-original/MDXComponents'; +import MDXComponents from "@theme-original/MDXComponents"; import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; diff --git a/package.json b/package.json index 8a87fefe..ba90ca4c 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "test": "vitest run", "test:watch": "vitest", "test:cov": "vitest run --coverage", - "format": "prettier --write \"**/*.ts\"", + "format": "prettier --write \"**/*.{ts,js,tsx,md,mdx}\"", "prepublishOnly": "run-s build test" }, "exports": { From a108cb382ecc95323e382ec51de7870756eedee0 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 10:24:05 -0400 Subject: [PATCH 07/18] chore: bump deps --- docs/package.json | 18 +- docs/pnpm-lock.yaml | 1273 ++++++++++++++-------------- package.json | 26 +- pnpm-lock.yaml | 1979 ++++++++++++++++++++++--------------------- 4 files changed, 1684 insertions(+), 1612 deletions(-) diff --git a/docs/package.json b/docs/package.json index 71cd92a5..dc784120 100644 --- a/docs/package.json +++ b/docs/package.json @@ -17,22 +17,22 @@ "dependencies": { "@docusaurus/core": "3.4.0", "@docusaurus/preset-classic": "3.4.0", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "lucide-react": "^0.394.0", - "prism-react-renderer": "^2.3.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "@mdx-js/react": "^3.0.1", + "clsx": "^2.1.1", + "lucide-react": "^0.400.0", + "prism-react-renderer": "^2.3.1", + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { "@docusaurus/module-type-aliases": "3.4.0", "@docusaurus/tsconfig": "3.4.0", "@docusaurus/types": "3.4.0", "autoprefixer": "^10.4.19", - "postcss": "^8.4.38", - "prettier": "^3.3.1", + "postcss": "^8.4.39", + "prettier": "^3.3.2", "tailwindcss": "^3.4.4", - "typescript": "~5.2.2" + "typescript": "~5.5.3" }, "browserslist": { "production": [ diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 24bc884f..8520c026 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -10,27 +10,27 @@ importers: dependencies: '@docusaurus/core': specifier: 3.4.0 - version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/preset-classic': specifier: 3.4.0 - version: 3.4.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2) + version: 3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.3) '@mdx-js/react': - specifier: ^3.0.0 + specifier: ^3.0.1 version: 3.0.1(@types/react@18.3.3)(react@18.3.1) clsx: - specifier: ^2.0.0 + specifier: ^2.1.1 version: 2.1.1 lucide-react: - specifier: ^0.394.0 - version: 0.394.0(react@18.3.1) + specifier: ^0.400.0 + version: 0.400.0(react@18.3.1) prism-react-renderer: - specifier: ^2.3.0 + specifier: ^2.3.1 version: 2.3.1(react@18.3.1) react: - specifier: ^18.0.0 + specifier: ^18.3.1 version: 18.3.1 react-dom: - specifier: ^18.0.0 + specifier: ^18.3.1 version: 18.3.1(react@18.3.1) devDependencies: '@docusaurus/module-type-aliases': @@ -44,19 +44,19 @@ importers: version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) autoprefixer: specifier: ^10.4.19 - version: 10.4.19(postcss@8.4.38) + version: 10.4.19(postcss@8.4.39) postcss: - specifier: ^8.4.38 - version: 8.4.38 + specifier: ^8.4.39 + version: 8.4.39 prettier: - specifier: ^3.3.1 - version: 3.3.1 + specifier: ^3.3.2 + version: 3.3.2 tailwindcss: specifier: ^3.4.4 version: 3.4.4 typescript: - specifier: ~5.2.2 - version: 5.2.2 + specifier: ~5.5.3 + version: 5.5.3 packages: @@ -80,53 +80,53 @@ packages: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/cache-browser-local-storage@4.23.3': - resolution: {integrity: sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==} + '@algolia/cache-browser-local-storage@4.24.0': + resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==} - '@algolia/cache-common@4.23.3': - resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} + '@algolia/cache-common@4.24.0': + resolution: {integrity: sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==} - '@algolia/cache-in-memory@4.23.3': - resolution: {integrity: sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==} + '@algolia/cache-in-memory@4.24.0': + resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==} - '@algolia/client-account@4.23.3': - resolution: {integrity: sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==} + '@algolia/client-account@4.24.0': + resolution: {integrity: sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==} - '@algolia/client-analytics@4.23.3': - resolution: {integrity: sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==} + '@algolia/client-analytics@4.24.0': + resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==} - '@algolia/client-common@4.23.3': - resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} + '@algolia/client-common@4.24.0': + resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==} - '@algolia/client-personalization@4.23.3': - resolution: {integrity: sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==} + '@algolia/client-personalization@4.24.0': + resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==} - '@algolia/client-search@4.23.3': - resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} + '@algolia/client-search@4.24.0': + resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==} '@algolia/events@4.0.1': resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - '@algolia/logger-common@4.23.3': - resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} + '@algolia/logger-common@4.24.0': + resolution: {integrity: sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==} - '@algolia/logger-console@4.23.3': - resolution: {integrity: sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==} + '@algolia/logger-console@4.24.0': + resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==} - '@algolia/recommend@4.23.3': - resolution: {integrity: sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==} + '@algolia/recommend@4.24.0': + resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==} - '@algolia/requester-browser-xhr@4.23.3': - resolution: {integrity: sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==} + '@algolia/requester-browser-xhr@4.24.0': + resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==} - '@algolia/requester-common@4.23.3': - resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} + '@algolia/requester-common@4.24.0': + resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} - '@algolia/requester-node-http@4.23.3': - resolution: {integrity: sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==} + '@algolia/requester-node-http@4.24.0': + resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==} - '@algolia/transporter@4.23.3': - resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} + '@algolia/transporter@4.24.0': + resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==} '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} @@ -1184,8 +1184,8 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/express-serve-static-core@4.19.3': - resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} + '@types/express-serve-static-core@4.19.5': + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -1241,8 +1241,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.14.2': - resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + '@types/node@20.14.9': + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -1362,8 +1362,8 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-import-assertions@1.9.0: - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 @@ -1372,12 +1372,12 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true @@ -1413,13 +1413,13 @@ packages: ajv@8.16.0: resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} - algoliasearch-helper@3.21.0: - resolution: {integrity: sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w==} + algoliasearch-helper@3.22.2: + resolution: {integrity: sha512-3YQ6eo7uYOCHeQ2ZpD+OoT3aJJwMNKEnwtu8WMzm81XmBOSCwRjQditH9CeSOQ38qhHkuGw23pbq+kULkIJLcw==} peerDependencies: algoliasearch: '>= 3.1 < 6' - algoliasearch@4.23.3: - resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} + algoliasearch@4.24.0: + resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -1556,8 +1556,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1606,8 +1606,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001628: - resolution: {integrity: sha512-S3BnR4Kh26TBxbi5t5kpbcUlLJb9lhtDXISDPwOfI+JoC+ik0QksvkZtUVyikw3hjnkgkMPSJ8oIM9yMm9vflA==} + caniuse-lite@1.0.30001639: + resolution: {integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2072,8 +2072,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.4.790: - resolution: {integrity: sha512-eVGeQxpaBYbomDBa/Mehrs28MdvCXfJmEFzaMFsv8jH/MJDLIylJN81eTJ5kvx7B7p18OiPK0BkC06lydEy63A==} + electron-to-chromium@1.4.816: + resolution: {integrity: sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2117,8 +2117,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-module-lexer@1.5.3: - resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} @@ -2176,8 +2176,8 @@ packages: estree-util-to-js@2.0.0: resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - estree-util-value-to-estree@3.1.1: - resolution: {integrity: sha512-5mvUrF2suuv5f5cGDnDphIy4/gW86z82kl5qG6mM9z04SEQI4FB5Apmaw/TGEf3l55nLtMs5s51dmhUzvAHQCA==} + estree-util-value-to-estree@3.1.2: + resolution: {integrity: sha512-S0gW2+XZkmsx00tU2uJ4L9hUT7IFabbml9pHh2WQqFmAbxit++YGZne0sKJbNwkj9Wvg9E4uqWl4nCIFQMmfag==} estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} @@ -2475,8 +2475,8 @@ packages: hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - hast-util-raw@9.0.3: - resolution: {integrity: sha512-ICWvVOF2fq4+7CMmtCPD5CM4QKjPbHpPotE6+8tDooV0ZuyJVUzHsrNX+O5NaRbieTf0F7FfeBOMAwi6Td0+yQ==} + hast-util-raw@9.0.4: + resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} hast-util-to-estree@3.1.0: resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} @@ -2682,8 +2682,9 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -2807,12 +2808,12 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jiti@1.21.3: - resolution: {integrity: sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==} + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true - joi@17.13.1: - resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2869,8 +2870,8 @@ packages: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} - launch-editor@2.6.1: - resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + launch-editor@2.8.0: + resolution: {integrity: sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==} leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} @@ -2880,8 +2881,8 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -2937,17 +2938,17 @@ packages: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@0.394.0: - resolution: {integrity: sha512-PzTbJ0bsyXRhH59k5qe7MpTd5MxlpYZUcM9kGSwvPGAfnn0J6FElDwu2EX6Vuh//F7y60rcVJiFQ7EK9DCMgfw==} + lucide-react@0.400.0: + resolution: {integrity: sha512-rpp7pFHh3Xd93KHixNgB0SqThMHpYNzsGUu69UaQbSZ75Q/J3m5t6EhKyMT3m4w2WOxmJ2mY0tD3vebnXqQryQ==} peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 markdown-extensions@2.0.0: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} @@ -3001,8 +3002,8 @@ packages: mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - mdast-util-to-hast@13.1.0: - resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} mdast-util-to-markdown@2.1.0: resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} @@ -3210,8 +3211,8 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: @@ -3297,8 +3298,9 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -3740,12 +3742,12 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} - prettier@3.3.1: - resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==} + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true @@ -4346,8 +4348,8 @@ packages: uglify-js: optional: true - terser@5.31.0: - resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==} + terser@5.31.1: + resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} engines: {node: '>=10'} hasBin: true @@ -4413,8 +4415,8 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} hasBin: true @@ -4441,8 +4443,8 @@ packages: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - unified@11.0.4: - resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} unique-string@3.0.0: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} @@ -4576,8 +4578,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.91.0: - resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + webpack@5.92.1: + resolution: {integrity: sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -4630,8 +4632,8 @@ packages: write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4642,8 +4644,8 @@ packages: utf-8-validate: optional: true - ws@8.17.0: - resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4678,8 +4680,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} zwitch@2.0.4: @@ -4687,111 +4689,111 @@ packages: snapshots: - '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.14.0)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.14.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.14.0)': dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) search-insights: 2.14.0 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)': dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) - '@algolia/client-search': 4.23.3 - algoliasearch: 4.23.3 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) + '@algolia/client-search': 4.24.0 + algoliasearch: 4.24.0 - '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)': + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)': dependencies: - '@algolia/client-search': 4.23.3 - algoliasearch: 4.23.3 + '@algolia/client-search': 4.24.0 + algoliasearch: 4.24.0 - '@algolia/cache-browser-local-storage@4.23.3': + '@algolia/cache-browser-local-storage@4.24.0': dependencies: - '@algolia/cache-common': 4.23.3 + '@algolia/cache-common': 4.24.0 - '@algolia/cache-common@4.23.3': {} + '@algolia/cache-common@4.24.0': {} - '@algolia/cache-in-memory@4.23.3': + '@algolia/cache-in-memory@4.24.0': dependencies: - '@algolia/cache-common': 4.23.3 + '@algolia/cache-common': 4.24.0 - '@algolia/client-account@4.23.3': + '@algolia/client-account@4.24.0': dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/transporter': 4.23.3 + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/client-analytics@4.23.3': + '@algolia/client-analytics@4.24.0': dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/client-common@4.23.3': + '@algolia/client-common@4.24.0': dependencies: - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/client-personalization@4.23.3': + '@algolia/client-personalization@4.24.0': dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 + '@algolia/client-common': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/client-search@4.23.3': + '@algolia/client-search@4.24.0': dependencies: - '@algolia/client-common': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/transporter': 4.23.3 + '@algolia/client-common': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/transporter': 4.24.0 '@algolia/events@4.0.1': {} - '@algolia/logger-common@4.23.3': {} + '@algolia/logger-common@4.24.0': {} - '@algolia/logger-console@4.23.3': + '@algolia/logger-console@4.24.0': dependencies: - '@algolia/logger-common': 4.23.3 + '@algolia/logger-common': 4.24.0 - '@algolia/recommend@4.23.3': + '@algolia/recommend@4.24.0': dependencies: - '@algolia/cache-browser-local-storage': 4.23.3 - '@algolia/cache-common': 4.23.3 - '@algolia/cache-in-memory': 4.23.3 - '@algolia/client-common': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/logger-console': 4.23.3 - '@algolia/requester-browser-xhr': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/requester-node-http': 4.23.3 - '@algolia/transporter': 4.23.3 + '@algolia/cache-browser-local-storage': 4.24.0 + '@algolia/cache-common': 4.24.0 + '@algolia/cache-in-memory': 4.24.0 + '@algolia/client-common': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/logger-console': 4.24.0 + '@algolia/requester-browser-xhr': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/requester-node-http': 4.24.0 + '@algolia/transporter': 4.24.0 - '@algolia/requester-browser-xhr@4.23.3': + '@algolia/requester-browser-xhr@4.24.0': dependencies: - '@algolia/requester-common': 4.23.3 + '@algolia/requester-common': 4.24.0 - '@algolia/requester-common@4.23.3': {} + '@algolia/requester-common@4.24.0': {} - '@algolia/requester-node-http@4.23.3': + '@algolia/requester-node-http@4.24.0': dependencies: - '@algolia/requester-common': 4.23.3 + '@algolia/requester-common': 4.24.0 - '@algolia/transporter@4.23.3': + '@algolia/transporter@4.24.0': dependencies: - '@algolia/cache-common': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/requester-common': 4.23.3 + '@algolia/cache-common': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/requester-common': 4.24.0 '@alloc/quick-lru@5.2.0': {} @@ -4849,7 +4851,7 @@ snapshots: dependencies: '@babel/compat-data': 7.24.7 '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.0 + browserslist: 4.23.1 lru-cache: 5.1.1 semver: 6.3.1 @@ -5669,12 +5671,12 @@ snapshots: '@docsearch/css@3.6.0': {} - '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)': + '@docsearch/react@3.6.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)': dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3) + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.14.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) '@docsearch/css': 3.6.0 - algoliasearch: 4.23.3 + algoliasearch: 4.24.0 optionalDependencies: '@types/react': 18.3.3 react: 18.3.1 @@ -5683,7 +5685,7 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/core@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: '@babel/core': 7.24.7 '@babel/generator': 7.24.7 @@ -5697,12 +5699,12 @@ snapshots: '@babel/traverse': 7.24.7 '@docusaurus/cssnano-preset': 3.4.0 '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) - autoprefixer: 10.4.19(postcss@8.4.38) - babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.91.0) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + autoprefixer: 10.4.19(postcss@8.4.39) + babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.1) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 @@ -5711,34 +5713,34 @@ snapshots: cli-table3: 0.6.5 combine-promises: 1.2.0 commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.91.0) + copy-webpack-plugin: 11.0.0(webpack@5.92.1) core-js: 3.37.1 - css-loader: 6.11.0(webpack@5.91.0) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.91.0) - cssnano: 6.1.2(postcss@8.4.38) + css-loader: 6.11.0(webpack@5.92.1) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.92.1) + cssnano: 6.1.2(postcss@8.4.39) del: 6.1.1 detect-port: 1.6.1 escape-html: 1.0.3 eta: 2.2.0 eval: 0.1.8 - file-loader: 6.2.0(webpack@5.91.0) + file-loader: 6.2.0(webpack@5.92.1) fs-extra: 11.2.0 html-minifier-terser: 7.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.91.0) + html-webpack-plugin: 5.6.0(webpack@5.92.1) leven: 3.1.0 lodash: 4.17.21 - mini-css-extract-plugin: 2.9.0(webpack@5.91.0) + mini-css-extract-plugin: 2.9.0(webpack@5.92.1) p-map: 4.0.0 - postcss: 8.4.38 - postcss-loader: 7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.91.0) + postcss: 8.4.39 + postcss-loader: 7.3.4(postcss@8.4.39)(typescript@5.5.3)(webpack@5.92.1) prompts: 2.4.2 react: 18.3.1 - react-dev-utils: 12.0.1(typescript@5.2.2)(webpack@5.91.0) + react-dev-utils: 12.0.1(typescript@5.5.3)(webpack@5.92.1) react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.91.0) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.92.1) react-router: 5.3.4(react@18.3.1) react-router-config: 5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1) react-router-dom: 5.3.4(react@18.3.1) @@ -5746,15 +5748,15 @@ snapshots: semver: 7.6.2 serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(webpack@5.92.1) tslib: 2.6.3 update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) - webpack: 5.91.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) + webpack: 5.92.1 webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(webpack@5.91.0) + webpack-dev-server: 4.15.2(webpack@5.92.1) webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.91.0) + webpackbar: 5.0.2(webpack@5.92.1) transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' @@ -5776,9 +5778,9 @@ snapshots: '@docusaurus/cssnano-preset@3.4.0': dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-sort-media-queries: 5.2.0(postcss@8.4.38) + cssnano-preset-advanced: 6.1.2(postcss@8.4.39) + postcss: 8.4.39 + postcss-sort-media-queries: 5.2.0(postcss@8.4.39) tslib: 2.6.3 '@docusaurus/logger@3.4.0': @@ -5786,16 +5788,16 @@ snapshots: chalk: 4.1.2 tslib: 2.6.3 - '@docusaurus/mdx-loader@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/mdx-loader@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: '@docusaurus/logger': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@mdx-js/mdx': 3.0.1 '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 - estree-util-value-to-estree: 3.1.1 - file-loader: 6.2.0(webpack@5.91.0) + estree-util-value-to-estree: 3.1.2 + file-loader: 6.2.0(webpack@5.92.1) fs-extra: 11.2.0 image-size: 1.1.1 mdast-util-mdx: 3.0.0 @@ -5809,11 +5811,11 @@ snapshots: remark-gfm: 4.0.0 stringify-object: 3.3.0 tslib: 2.6.3 - unified: 11.0.4 + unified: 11.0.5 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) vfile: 6.0.1 - webpack: 5.91.0 + webpack: 5.92.1 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -5841,15 +5843,15 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/plugin-content-blog@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 @@ -5861,7 +5863,7 @@ snapshots: tslib: 2.6.3 unist-util-visit: 5.0.0 utility-types: 3.11.0 - webpack: 5.91.0 + webpack: 5.92.1 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -5880,16 +5882,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/plugin-content-docs@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/logger': 3.4.0 - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -5899,7 +5901,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 utility-types: 3.11.0 - webpack: 5.91.0 + webpack: 5.92.1 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -5918,18 +5920,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/plugin-content-pages@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 - webpack: 5.91.0 + webpack: 5.92.1 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -5948,11 +5950,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/plugin-debug@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -5976,11 +5978,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/plugin-google-analytics@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 @@ -6002,11 +6004,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/plugin-google-gtag@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@types/gtag.js': 0.0.12 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -6029,11 +6031,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/plugin-google-tag-manager@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.6.3 @@ -6055,14 +6057,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/plugin-sitemap@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/logger': 3.4.0 '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -6086,20 +6088,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2)': - dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-debug': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-google-analytics': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-google-gtag': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-google-tag-manager': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-sitemap': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/theme-classic': 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.23.3)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2) + '@docusaurus/preset-classic@3.4.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.3)': + dependencies: + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-debug': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-google-analytics': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-google-gtag': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-google-tag-manager': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-sitemap': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/theme-classic': 3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/theme-search-algolia': 3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.3) '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -6129,27 +6131,27 @@ snapshots: '@types/react': 18.3.3 react: 18.3.1 - '@docusaurus/theme-classic@3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/theme-classic@3.4.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/theme-translations': 3.4.0 '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) clsx: 2.1.1 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.43 lodash: 4.17.21 nprogress: 0.2.0 - postcss: 8.4.38 + postcss: 8.4.39 prism-react-renderer: 2.3.1(react@18.3.1) prismjs: 1.29.0 react: 18.3.1 @@ -6177,14 +6179,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2)': + '@docusaurus/theme-common@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': dependencies: - '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/module-type-aliases': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/plugin-content-blog': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/plugin-content-pages': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@types/history': 4.7.11 '@types/react': 18.3.3 @@ -6215,18 +6217,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.23.3)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.2.2)': + '@docusaurus/theme-search-algolia@3.4.0(@algolia/client-search@4.24.0)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0)(typescript@5.5.3)': dependencies: - '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0) - '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docsearch/react': 3.6.0(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.14.0) + '@docusaurus/core': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/logger': 3.4.0 - '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) - '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@docusaurus/theme-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) '@docusaurus/theme-translations': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) - '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) - algoliasearch: 4.23.3 - algoliasearch-helper: 3.21.0(algoliasearch@4.23.3) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + '@docusaurus/utils-validation': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) + algoliasearch: 4.24.0 + algoliasearch-helper: 3.22.2(algoliasearch@4.24.0) clsx: 2.1.1 eta: 2.2.0 fs-extra: 11.2.0 @@ -6270,12 +6272,12 @@ snapshots: '@types/history': 4.7.11 '@types/react': 18.3.3 commander: 5.1.0 - joi: 17.13.1 + joi: 17.13.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) utility-types: 3.11.0 - webpack: 5.91.0 + webpack: 5.92.1 webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -6290,13 +6292,13 @@ snapshots: optionalDependencies: '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2)': + '@docusaurus/utils-validation@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3)': dependencies: '@docusaurus/logger': 3.4.0 - '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2) + '@docusaurus/utils': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3) '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) fs-extra: 11.2.0 - joi: 17.13.1 + joi: 17.13.3 js-yaml: 4.1.0 lodash: 4.17.21 tslib: 2.6.3 @@ -6309,18 +6311,18 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.2.2)': + '@docusaurus/utils@3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.3)': dependencies: '@docusaurus/logger': 3.4.0 '@docusaurus/utils-common': 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@svgr/webpack': 8.1.0(typescript@5.2.2) + '@svgr/webpack': 8.1.0(typescript@5.5.3) escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.91.0) + file-loader: 6.2.0(webpack@5.92.1) fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 gray-matter: 4.0.3 - jiti: 1.21.3 + jiti: 1.21.6 js-yaml: 4.1.0 lodash: 4.17.21 micromatch: 4.0.7 @@ -6328,9 +6330,9 @@ snapshots: resolve-pathname: 3.0.0 shelljs: 0.8.5 tslib: 2.6.3 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1) utility-types: 3.11.0 - webpack: 5.91.0 + webpack: 5.92.1 optionalDependencies: '@docusaurus/types': 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: @@ -6365,7 +6367,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -6413,7 +6415,7 @@ snapshots: remark-parse: 11.0.0 remark-rehype: 11.1.0 source-map: 0.7.4 - unified: 11.0.4 + unified: 11.0.5 unist-util-position-from-estree: 2.0.0 unist-util-stringify-position: 4.0.0 unist-util-visit: 5.0.0 @@ -6520,12 +6522,12 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.7) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.7) - '@svgr/core@8.1.0(typescript@5.2.2)': + '@svgr/core@8.1.0(typescript@5.5.3)': dependencies: '@babel/core': 7.24.7 '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.5.3) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -6536,35 +6538,35 @@ snapshots: '@babel/types': 7.24.7 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.2.2))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.3))': dependencies: '@babel/core': 7.24.7 '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) - '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/core': 8.1.0(typescript@5.5.3) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.2.2))(typescript@5.2.2)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.5.3))(typescript@5.5.3)': dependencies: - '@svgr/core': 8.1.0(typescript@5.2.2) - cosmiconfig: 8.3.6(typescript@5.2.2) + '@svgr/core': 8.1.0(typescript@5.5.3) + cosmiconfig: 8.3.6(typescript@5.5.3) deepmerge: 4.3.1 svgo: 3.3.2 transitivePeerDependencies: - typescript - '@svgr/webpack@8.1.0(typescript@5.2.2)': + '@svgr/webpack@8.1.0(typescript@5.5.3)': dependencies: '@babel/core': 7.24.7 '@babel/plugin-transform-react-constant-elements': 7.24.7(@babel/core@7.24.7) '@babel/preset-env': 7.24.7(@babel/core@7.24.7) '@babel/preset-react': 7.24.7(@babel/core@7.24.7) '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) - '@svgr/core': 8.1.0(typescript@5.2.2) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.2.2)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.2.2))(typescript@5.2.2) + '@svgr/core': 8.1.0(typescript@5.5.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.5.3)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.5.3))(typescript@5.5.3) transitivePeerDependencies: - supports-color - typescript @@ -6582,20 +6584,20 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/connect-history-api-fallback@1.5.4': dependencies: - '@types/express-serve-static-core': 4.19.3 - '@types/node': 20.14.2 + '@types/express-serve-static-core': 4.19.5 + '@types/node': 20.14.9 '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/debug@4.1.12': dependencies: @@ -6617,9 +6619,9 @@ snapshots: '@types/estree@1.0.5': {} - '@types/express-serve-static-core@4.19.3': + '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -6627,7 +6629,7 @@ snapshots: '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.3 + '@types/express-serve-static-core': 4.19.5 '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 @@ -6647,7 +6649,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/istanbul-lib-coverage@2.0.6': {} @@ -6673,11 +6675,11 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/node@17.0.45': {} - '@types/node@20.14.2': + '@types/node@20.14.9': dependencies: undici-types: 5.26.5 @@ -6722,7 +6724,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/serve-index@1.9.4': dependencies: @@ -6731,12 +6733,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/unist@2.0.10': {} @@ -6744,7 +6746,7 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 '@types/yargs-parser@21.0.3': {} @@ -6839,17 +6841,19 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-assertions@1.9.0(acorn@8.11.3): + acorn-import-attributes@1.9.5(acorn@8.12.0): dependencies: - acorn: 8.11.3 + acorn: 8.12.0 - acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2(acorn@8.12.0): dependencies: - acorn: 8.11.3 + acorn: 8.12.0 - acorn-walk@8.3.2: {} + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.0 - acorn@8.11.3: {} + acorn@8.12.0: {} address@1.2.2: {} @@ -6885,28 +6889,28 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - algoliasearch-helper@3.21.0(algoliasearch@4.23.3): + algoliasearch-helper@3.22.2(algoliasearch@4.24.0): dependencies: '@algolia/events': 4.0.1 - algoliasearch: 4.23.3 - - algoliasearch@4.23.3: - dependencies: - '@algolia/cache-browser-local-storage': 4.23.3 - '@algolia/cache-common': 4.23.3 - '@algolia/cache-in-memory': 4.23.3 - '@algolia/client-account': 4.23.3 - '@algolia/client-analytics': 4.23.3 - '@algolia/client-common': 4.23.3 - '@algolia/client-personalization': 4.23.3 - '@algolia/client-search': 4.23.3 - '@algolia/logger-common': 4.23.3 - '@algolia/logger-console': 4.23.3 - '@algolia/recommend': 4.23.3 - '@algolia/requester-browser-xhr': 4.23.3 - '@algolia/requester-common': 4.23.3 - '@algolia/requester-node-http': 4.23.3 - '@algolia/transporter': 4.23.3 + algoliasearch: 4.24.0 + + algoliasearch@4.24.0: + dependencies: + '@algolia/cache-browser-local-storage': 4.24.0 + '@algolia/cache-common': 4.24.0 + '@algolia/cache-in-memory': 4.24.0 + '@algolia/client-account': 4.24.0 + '@algolia/client-analytics': 4.24.0 + '@algolia/client-common': 4.24.0 + '@algolia/client-personalization': 4.24.0 + '@algolia/client-search': 4.24.0 + '@algolia/logger-common': 4.24.0 + '@algolia/logger-console': 4.24.0 + '@algolia/recommend': 4.24.0 + '@algolia/requester-browser-xhr': 4.24.0 + '@algolia/requester-common': 4.24.0 + '@algolia/requester-node-http': 4.24.0 + '@algolia/transporter': 4.24.0 ansi-align@3.0.1: dependencies: @@ -6951,22 +6955,22 @@ snapshots: at-least-node@1.0.0: {} - autoprefixer@10.4.19(postcss@8.4.38): + autoprefixer@10.4.19(postcss@8.4.39): dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001628 + browserslist: 4.23.1 + caniuse-lite: 1.0.30001639 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.91.0): + babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.92.1): dependencies: '@babel/core': 7.24.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.91.0 + webpack: 5.92.1 babel-plugin-dynamic-import-node@2.3.3: dependencies: @@ -7065,12 +7069,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.0: + browserslist@4.23.1: dependencies: - caniuse-lite: 1.0.30001628 - electron-to-chromium: 1.4.790 + caniuse-lite: 1.0.30001639 + electron-to-chromium: 1.4.816 node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.0) + update-browserslist-db: 1.0.16(browserslist@4.23.1) buffer-from@1.1.2: {} @@ -7113,12 +7117,12 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001628 + browserslist: 4.23.1 + caniuse-lite: 1.0.30001639 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001628: {} + caniuse-lite@1.0.30001639: {} ccount@2.0.1: {} @@ -7289,7 +7293,7 @@ snapshots: copy-text-to-clipboard@3.2.0: {} - copy-webpack-plugin@11.0.0(webpack@5.91.0): + copy-webpack-plugin@11.0.0(webpack@5.92.1): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -7297,11 +7301,11 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.91.0 + webpack: 5.92.1 core-js-compat@3.37.1: dependencies: - browserslist: 4.23.0 + browserslist: 4.23.1 core-js-pure@3.37.1: {} @@ -7317,14 +7321,14 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@8.3.6(typescript@5.2.2): + cosmiconfig@8.3.6(typescript@5.5.3): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.2.2 + typescript: 5.5.3 cross-spawn@7.0.3: dependencies: @@ -7336,32 +7340,32 @@ snapshots: dependencies: type-fest: 1.4.0 - css-declaration-sorter@7.2.0(postcss@8.4.38): + css-declaration-sorter@7.2.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - css-loader@6.11.0(webpack@5.91.0): + css-loader@6.11.0(webpack@5.92.1): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) - postcss-modules-scope: 3.2.0(postcss@8.4.38) - postcss-modules-values: 4.0.0(postcss@8.4.38) + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.39) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.39) + postcss-modules-scope: 3.2.0(postcss@8.4.39) + postcss-modules-values: 4.0.0(postcss@8.4.39) postcss-value-parser: 4.2.0 semver: 7.6.2 optionalDependencies: - webpack: 5.91.0 + webpack: 5.92.1 - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.91.0): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.92.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 6.1.2(postcss@8.4.38) + cssnano: 6.1.2(postcss@8.4.39) jest-worker: 29.7.0 - postcss: 8.4.38 + postcss: 8.4.39 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.91.0 + webpack: 5.92.1 optionalDependencies: clean-css: 5.3.3 @@ -7395,60 +7399,60 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-advanced@6.1.2(postcss@8.4.38): - dependencies: - autoprefixer: 10.4.19(postcss@8.4.38) - browserslist: 4.23.0 - cssnano-preset-default: 6.1.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-discard-unused: 6.0.5(postcss@8.4.38) - postcss-merge-idents: 6.0.3(postcss@8.4.38) - postcss-reduce-idents: 6.0.3(postcss@8.4.38) - postcss-zindex: 6.0.2(postcss@8.4.38) - - cssnano-preset-default@6.1.2(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - css-declaration-sorter: 7.2.0(postcss@8.4.38) - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-calc: 9.0.1(postcss@8.4.38) - postcss-colormin: 6.1.0(postcss@8.4.38) - postcss-convert-values: 6.1.0(postcss@8.4.38) - postcss-discard-comments: 6.0.2(postcss@8.4.38) - postcss-discard-duplicates: 6.0.3(postcss@8.4.38) - postcss-discard-empty: 6.0.3(postcss@8.4.38) - postcss-discard-overridden: 6.0.2(postcss@8.4.38) - postcss-merge-longhand: 6.0.5(postcss@8.4.38) - postcss-merge-rules: 6.1.1(postcss@8.4.38) - postcss-minify-font-values: 6.1.0(postcss@8.4.38) - postcss-minify-gradients: 6.0.3(postcss@8.4.38) - postcss-minify-params: 6.1.0(postcss@8.4.38) - postcss-minify-selectors: 6.0.4(postcss@8.4.38) - postcss-normalize-charset: 6.0.2(postcss@8.4.38) - postcss-normalize-display-values: 6.0.2(postcss@8.4.38) - postcss-normalize-positions: 6.0.2(postcss@8.4.38) - postcss-normalize-repeat-style: 6.0.2(postcss@8.4.38) - postcss-normalize-string: 6.0.2(postcss@8.4.38) - postcss-normalize-timing-functions: 6.0.2(postcss@8.4.38) - postcss-normalize-unicode: 6.1.0(postcss@8.4.38) - postcss-normalize-url: 6.0.2(postcss@8.4.38) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.38) - postcss-ordered-values: 6.0.2(postcss@8.4.38) - postcss-reduce-initial: 6.1.0(postcss@8.4.38) - postcss-reduce-transforms: 6.0.2(postcss@8.4.38) - postcss-svgo: 6.0.3(postcss@8.4.38) - postcss-unique-selectors: 6.0.4(postcss@8.4.38) - - cssnano-utils@4.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - - cssnano@6.1.2(postcss@8.4.38): - dependencies: - cssnano-preset-default: 6.1.2(postcss@8.4.38) - lilconfig: 3.1.1 - postcss: 8.4.38 + cssnano-preset-advanced@6.1.2(postcss@8.4.39): + dependencies: + autoprefixer: 10.4.19(postcss@8.4.39) + browserslist: 4.23.1 + cssnano-preset-default: 6.1.2(postcss@8.4.39) + postcss: 8.4.39 + postcss-discard-unused: 6.0.5(postcss@8.4.39) + postcss-merge-idents: 6.0.3(postcss@8.4.39) + postcss-reduce-idents: 6.0.3(postcss@8.4.39) + postcss-zindex: 6.0.2(postcss@8.4.39) + + cssnano-preset-default@6.1.2(postcss@8.4.39): + dependencies: + browserslist: 4.23.1 + css-declaration-sorter: 7.2.0(postcss@8.4.39) + cssnano-utils: 4.0.2(postcss@8.4.39) + postcss: 8.4.39 + postcss-calc: 9.0.1(postcss@8.4.39) + postcss-colormin: 6.1.0(postcss@8.4.39) + postcss-convert-values: 6.1.0(postcss@8.4.39) + postcss-discard-comments: 6.0.2(postcss@8.4.39) + postcss-discard-duplicates: 6.0.3(postcss@8.4.39) + postcss-discard-empty: 6.0.3(postcss@8.4.39) + postcss-discard-overridden: 6.0.2(postcss@8.4.39) + postcss-merge-longhand: 6.0.5(postcss@8.4.39) + postcss-merge-rules: 6.1.1(postcss@8.4.39) + postcss-minify-font-values: 6.1.0(postcss@8.4.39) + postcss-minify-gradients: 6.0.3(postcss@8.4.39) + postcss-minify-params: 6.1.0(postcss@8.4.39) + postcss-minify-selectors: 6.0.4(postcss@8.4.39) + postcss-normalize-charset: 6.0.2(postcss@8.4.39) + postcss-normalize-display-values: 6.0.2(postcss@8.4.39) + postcss-normalize-positions: 6.0.2(postcss@8.4.39) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.39) + postcss-normalize-string: 6.0.2(postcss@8.4.39) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.39) + postcss-normalize-unicode: 6.1.0(postcss@8.4.39) + postcss-normalize-url: 6.0.2(postcss@8.4.39) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.39) + postcss-ordered-values: 6.0.2(postcss@8.4.39) + postcss-reduce-initial: 6.1.0(postcss@8.4.39) + postcss-reduce-transforms: 6.0.2(postcss@8.4.39) + postcss-svgo: 6.0.3(postcss@8.4.39) + postcss-unique-selectors: 6.0.4(postcss@8.4.39) + + cssnano-utils@4.0.2(postcss@8.4.39): + dependencies: + postcss: 8.4.39 + + cssnano@6.1.2(postcss@8.4.39): + dependencies: + cssnano-preset-default: 6.1.2(postcss@8.4.39) + lilconfig: 3.1.2 + postcss: 8.4.39 csso@5.0.5: dependencies: @@ -7602,7 +7606,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.4.790: {} + electron-to-chromium@1.4.816: {} emoji-regex@8.0.0: {} @@ -7635,7 +7639,7 @@ snapshots: es-errors@1.3.0: {} - es-module-lexer@1.5.3: {} + es-module-lexer@1.5.4: {} escalade@3.1.2: {} @@ -7683,10 +7687,9 @@ snapshots: astring: 1.8.6 source-map: 0.7.4 - estree-util-value-to-estree@3.1.1: + estree-util-value-to-estree@3.1.2: dependencies: '@types/estree': 1.0.5 - is-plain-obj: 4.1.0 estree-util-visit@2.0.0: dependencies: @@ -7705,7 +7708,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 require-like: 0.1.2 eventemitter3@4.0.7: {} @@ -7798,11 +7801,11 @@ snapshots: dependencies: xml-js: 1.6.11 - file-loader@6.2.0(webpack@5.91.0): + file-loader@6.2.0(webpack@5.92.1): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.91.0 + webpack: 5.92.1 filesize@8.0.7: {} @@ -7850,7 +7853,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@6.5.3(typescript@5.2.2)(webpack@5.91.0): + fork-ts-checker-webpack-plugin@6.5.3(typescript@5.5.3)(webpack@5.92.1): dependencies: '@babel/code-frame': 7.24.7 '@types/json-schema': 7.0.15 @@ -7865,8 +7868,8 @@ snapshots: schema-utils: 2.7.0 semver: 7.6.2 tapable: 1.1.3 - typescript: 5.2.2 - webpack: 5.91.0 + typescript: 5.5.3 + webpack: 5.92.1 form-data-encoder@2.1.4: {} @@ -7930,7 +7933,7 @@ snapshots: dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 - minimatch: 9.0.4 + minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 path-scurry: 1.11.1 @@ -8045,7 +8048,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 - hast-util-raw@9.0.3: + hast-util-raw@9.0.4: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.2 @@ -8053,7 +8056,7 @@ snapshots: hast-util-from-parse5: 8.0.1 hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.1.0 + mdast-util-to-hast: 13.2.0 parse5: 7.1.2 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -8158,7 +8161,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.0 + terser: 5.31.1 html-minifier-terser@7.2.0: dependencies: @@ -8168,13 +8171,13 @@ snapshots: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.0 + terser: 5.31.1 html-tags@3.3.1: {} html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.0(webpack@5.91.0): + html-webpack-plugin@5.6.0(webpack@5.92.1): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -8182,7 +8185,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.91.0 + webpack: 5.92.1 htmlparser2@6.1.0: dependencies: @@ -8250,9 +8253,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.38): + icss-utils@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 ignore@5.3.1: {} @@ -8319,7 +8322,7 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.13.1: + is-core-module@2.14.0: dependencies: hasown: 2.0.2 @@ -8399,7 +8402,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.2 + '@types/node': 20.14.9 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -8407,20 +8410,20 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.9 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jiti@1.21.3: {} + jiti@1.21.6: {} - joi@17.13.1: + joi@17.13.3: dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -8471,7 +8474,7 @@ snapshots: dependencies: package-json: 8.1.1 - launch-editor@2.6.1: + launch-editor@2.8.0: dependencies: picocolors: 1.0.1 shell-quote: 1.8.1 @@ -8480,7 +8483,7 @@ snapshots: lilconfig@2.1.0: {} - lilconfig@3.1.1: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -8527,13 +8530,13 @@ snapshots: lowercase-keys@3.0.0: {} - lru-cache@10.2.2: {} + lru-cache@10.3.0: {} lru-cache@5.1.1: dependencies: yallist: 3.1.1 - lucide-react@0.394.0(react@18.3.1): + lucide-react@0.400.0(react@18.3.1): dependencies: react: 18.3.1 @@ -8701,7 +8704,7 @@ snapshots: '@types/mdast': 4.0.4 unist-util-is: 6.0.0 - mdast-util-to-hast@13.1.0: + mdast-util-to-hast@13.2.0: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -8882,8 +8885,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) micromark-extension-mdx-expression: 3.0.0 micromark-extension-mdx-jsx: 3.0.0 micromark-extension-mdx-md: 2.0.0 @@ -9066,11 +9069,11 @@ snapshots: mimic-response@4.0.0: {} - mini-css-extract-plugin@2.9.0(webpack@5.91.0): + mini-css-extract-plugin@2.9.0(webpack@5.92.1): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.91.0 + webpack: 5.92.1 minimalistic-assert@1.0.1: {} @@ -9078,7 +9081,7 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.4: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -9147,7 +9150,7 @@ snapshots: object-hash@3.0.0: {} - object-inspect@1.13.1: {} + object-inspect@1.13.2: {} object-keys@1.1.1: {} @@ -9194,7 +9197,7 @@ snapshots: p-limit@4.0.0: dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.1.1 p-locate@3.0.0: dependencies: @@ -9289,7 +9292,7 @@ snapshots: path-scurry@1.11.1: dependencies: - lru-cache: 10.2.2 + lru-cache: 10.3.0 minipass: 7.1.2 path-to-regexp@0.1.7: {} @@ -9324,211 +9327,211 @@ snapshots: dependencies: find-up: 3.0.0 - postcss-calc@9.0.1(postcss@8.4.38): + postcss-calc@9.0.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 - postcss-colormin@6.1.0(postcss@8.4.38): + postcss-colormin@6.1.0(postcss@8.4.39): dependencies: - browserslist: 4.23.0 + browserslist: 4.23.1 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-convert-values@6.1.0(postcss@8.4.38): + postcss-convert-values@6.1.0(postcss@8.4.39): dependencies: - browserslist: 4.23.0 - postcss: 8.4.38 + browserslist: 4.23.1 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-discard-comments@6.0.2(postcss@8.4.38): + postcss-discard-comments@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-discard-duplicates@6.0.3(postcss@8.4.38): + postcss-discard-duplicates@6.0.3(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-discard-empty@6.0.3(postcss@8.4.38): + postcss-discard-empty@6.0.3(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-discard-overridden@6.0.2(postcss@8.4.38): + postcss-discard-overridden@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-discard-unused@6.0.5(postcss@8.4.38): + postcss-discard-unused@6.0.5(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 - postcss-import@15.1.0(postcss@8.4.38): + postcss-import@15.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.38): + postcss-js@4.0.1(postcss@8.4.39): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.38 + postcss: 8.4.39 - postcss-load-config@4.0.2(postcss@8.4.38): + postcss-load-config@4.0.2(postcss@8.4.39): dependencies: - lilconfig: 3.1.1 + lilconfig: 3.1.2 yaml: 2.4.5 optionalDependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.91.0): + postcss-loader@7.3.4(postcss@8.4.39)(typescript@5.5.3)(webpack@5.92.1): dependencies: - cosmiconfig: 8.3.6(typescript@5.2.2) - jiti: 1.21.3 - postcss: 8.4.38 + cosmiconfig: 8.3.6(typescript@5.5.3) + jiti: 1.21.6 + postcss: 8.4.39 semver: 7.6.2 - webpack: 5.91.0 + webpack: 5.92.1 transitivePeerDependencies: - typescript - postcss-merge-idents@6.0.3(postcss@8.4.38): + postcss-merge-idents@6.0.3(postcss@8.4.39): dependencies: - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 4.0.2(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-merge-longhand@6.0.5(postcss@8.4.38): + postcss-merge-longhand@6.0.5(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.4.38) + stylehacks: 6.1.1(postcss@8.4.39) - postcss-merge-rules@6.1.1(postcss@8.4.38): + postcss-merge-rules@6.1.1(postcss@8.4.39): dependencies: - browserslist: 4.23.0 + browserslist: 4.23.1 caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 4.0.2(postcss@8.4.39) + postcss: 8.4.39 postcss-selector-parser: 6.1.0 - postcss-minify-font-values@6.1.0(postcss@8.4.38): + postcss-minify-font-values@6.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-minify-gradients@6.0.3(postcss@8.4.38): + postcss-minify-gradients@6.0.3(postcss@8.4.39): dependencies: colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 4.0.2(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-minify-params@6.1.0(postcss@8.4.38): + postcss-minify-params@6.1.0(postcss@8.4.39): dependencies: - browserslist: 4.23.0 - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 + browserslist: 4.23.1 + cssnano-utils: 4.0.2(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-minify-selectors@6.0.4(postcss@8.4.38): + postcss-minify-selectors@6.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 - postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + postcss-modules-extract-imports@3.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + postcss-modules-local-by-default@4.0.5(postcss@8.4.39): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.38): + postcss-modules-scope@3.2.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 - postcss-modules-values@4.0.0(postcss@8.4.38): + postcss-modules-values@4.0.0(postcss@8.4.39): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 - postcss-nested@6.0.1(postcss@8.4.38): + postcss-nested@6.0.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 - postcss-normalize-charset@6.0.2(postcss@8.4.38): + postcss-normalize-charset@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-normalize-display-values@6.0.2(postcss@8.4.38): + postcss-normalize-display-values@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-positions@6.0.2(postcss@8.4.38): + postcss-normalize-positions@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@6.0.2(postcss@8.4.38): + postcss-normalize-repeat-style@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-string@6.0.2(postcss@8.4.38): + postcss-normalize-string@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@6.0.2(postcss@8.4.38): + postcss-normalize-timing-functions@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@6.1.0(postcss@8.4.38): + postcss-normalize-unicode@6.1.0(postcss@8.4.39): dependencies: - browserslist: 4.23.0 - postcss: 8.4.38 + browserslist: 4.23.1 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-url@6.0.2(postcss@8.4.38): + postcss-normalize-url@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@6.0.2(postcss@8.4.38): + postcss-normalize-whitespace@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-ordered-values@6.0.2(postcss@8.4.38): + postcss-ordered-values@6.0.2(postcss@8.4.39): dependencies: - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 4.0.2(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-reduce-idents@6.0.3(postcss@8.4.38): + postcss-reduce-idents@6.0.3(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-reduce-initial@6.1.0(postcss@8.4.38): + postcss-reduce-initial@6.1.0(postcss@8.4.39): dependencies: - browserslist: 4.23.0 + browserslist: 4.23.1 caniuse-api: 3.0.0 - postcss: 8.4.38 + postcss: 8.4.39 - postcss-reduce-transforms@6.0.2(postcss@8.4.38): + postcss-reduce-transforms@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 postcss-selector-parser@6.1.0: @@ -9536,35 +9539,35 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sort-media-queries@5.2.0(postcss@8.4.38): + postcss-sort-media-queries@5.2.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 sort-css-media-queries: 2.2.0 - postcss-svgo@6.0.3(postcss@8.4.38): + postcss-svgo@6.0.3(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-unique-selectors@6.0.4(postcss@8.4.38): + postcss-unique-selectors@6.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 postcss-value-parser@4.2.0: {} - postcss-zindex@6.0.2(postcss@8.4.38): + postcss-zindex@6.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss@8.4.38: + postcss@8.4.39: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - prettier@3.3.1: {} + prettier@3.3.2: {} pretty-error@4.0.0: dependencies: @@ -9645,18 +9648,18 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(typescript@5.2.2)(webpack@5.91.0): + react-dev-utils@12.0.1(typescript@5.5.3)(webpack@5.92.1): dependencies: '@babel/code-frame': 7.24.7 address: 1.2.2 - browserslist: 4.23.0 + browserslist: 4.23.1 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.2.2)(webpack@5.91.0) + fork-ts-checker-webpack-plugin: 6.5.3(typescript@5.5.3)(webpack@5.92.1) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -9671,9 +9674,9 @@ snapshots: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.91.0 + webpack: 5.92.1 optionalDependencies: - typescript: 5.2.2 + typescript: 5.5.3 transitivePeerDependencies: - eslint - supports-color @@ -9712,11 +9715,11 @@ snapshots: dependencies: react: 18.3.1 - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.91.0): + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.92.1): dependencies: '@babel/runtime': 7.24.7 react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' - webpack: 5.91.0 + webpack: 5.92.1 react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1): dependencies: @@ -9822,7 +9825,7 @@ snapshots: rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.4 - hast-util-raw: 9.0.3 + hast-util-raw: 9.0.4 vfile: 6.0.1 relateurl@0.2.7: {} @@ -9832,7 +9835,7 @@ snapshots: '@types/mdast': 4.0.4 mdast-util-directive: 3.0.0 micromark-extension-directive: 3.0.0 - unified: 11.0.4 + unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -9842,14 +9845,14 @@ snapshots: emoticon: 4.0.1 mdast-util-find-and-replace: 3.0.1 node-emoji: 2.1.3 - unified: 11.0.4 + unified: 11.0.5 remark-frontmatter@5.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-frontmatter: 2.0.1 micromark-extension-frontmatter: 2.0.0 - unified: 11.0.4 + unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -9860,7 +9863,7 @@ snapshots: micromark-extension-gfm: 3.0.0 remark-parse: 11.0.0 remark-stringify: 11.0.0 - unified: 11.0.4 + unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -9876,7 +9879,7 @@ snapshots: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.1 micromark-util-types: 2.0.0 - unified: 11.0.4 + unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -9884,15 +9887,15 @@ snapshots: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - mdast-util-to-hast: 13.1.0 - unified: 11.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 vfile: 6.0.1 remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 mdast-util-to-markdown: 2.1.0 - unified: 11.0.4 + unified: 11.0.5 renderkid@3.0.0: dependencies: @@ -9916,7 +9919,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -9938,7 +9941,7 @@ snapshots: dependencies: escalade: 3.1.2 picocolors: 1.0.1 - postcss: 8.4.38 + postcss: 8.4.39 strip-json-comments: 3.1.1 run-parallel@1.2.0: @@ -10090,7 +10093,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 signal-exit@3.0.7: {} @@ -10231,10 +10234,10 @@ snapshots: dependencies: inline-style-parser: 0.2.3 - stylehacks@6.1.1(postcss@8.4.38): + stylehacks@6.1.1(postcss@8.4.39): dependencies: - browserslist: 4.23.0 - postcss: 8.4.38 + browserslist: 4.23.1 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 sucrase@3.35.0: @@ -10283,17 +10286,17 @@ snapshots: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.3 + jiti: 1.21.6 lilconfig: 2.1.0 micromatch: 4.0.7 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.1 - postcss: 8.4.38 - postcss-import: 15.1.0(postcss@8.4.38) - postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38) - postcss-nested: 6.0.1(postcss@8.4.38) + postcss: 8.4.39 + postcss-import: 15.1.0(postcss@8.4.39) + postcss-js: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.2(postcss@8.4.39) + postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.1.0 resolve: 1.22.8 sucrase: 3.35.0 @@ -10304,19 +10307,19 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.10(webpack@5.91.0): + terser-webpack-plugin@5.3.10(webpack@5.92.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.31.0 - webpack: 5.91.0 + terser: 5.31.1 + webpack: 5.92.1 - terser@5.31.0: + terser@5.31.1: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.11.3 + acorn: 8.12.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -10367,7 +10370,7 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript@5.2.2: {} + typescript@5.5.3: {} undici-types@5.26.5: {} @@ -10384,7 +10387,7 @@ snapshots: unicode-property-aliases-ecmascript@2.1.0: {} - unified@11.0.4: + unified@11.0.5: dependencies: '@types/unist': 3.0.2 bail: 2.0.2 @@ -10434,9 +10437,9 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.0.16(browserslist@4.23.0): + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: - browserslist: 4.23.0 + browserslist: 4.23.1 escalade: 3.1.2 picocolors: 1.0.1 @@ -10461,14 +10464,14 @@ snapshots: dependencies: punycode: 2.3.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.91.0))(webpack@5.91.0): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.92.1))(webpack@5.92.1): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.91.0 + webpack: 5.92.1 optionalDependencies: - file-loader: 6.2.0(webpack@5.91.0) + file-loader: 6.2.0(webpack@5.92.1) util-deprecate@1.0.2: {} @@ -10514,8 +10517,8 @@ snapshots: webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7 - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.12.0 + acorn-walk: 8.3.3 commander: 7.2.0 debounce: 1.2.1 escape-string-regexp: 4.0.0 @@ -10524,21 +10527,21 @@ snapshots: opener: 1.5.2 picocolors: 1.0.1 sirv: 2.0.4 - ws: 7.5.9 + ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate - webpack-dev-middleware@5.3.4(webpack@5.91.0): + webpack-dev-middleware@5.3.4(webpack@5.92.1): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.91.0 + webpack: 5.92.1 - webpack-dev-server@4.15.2(webpack@5.91.0): + webpack-dev-server@4.15.2(webpack@5.92.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -10559,7 +10562,7 @@ snapshots: html-entities: 2.5.2 http-proxy-middleware: 2.0.6(@types/express@4.17.21) ipaddr.js: 2.2.0 - launch-editor: 2.6.1 + launch-editor: 2.8.0 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 @@ -10568,10 +10571,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.91.0) - ws: 8.17.0 + webpack-dev-middleware: 5.3.4(webpack@5.92.1) + ws: 8.17.1 optionalDependencies: - webpack: 5.91.0 + webpack: 5.92.1 transitivePeerDependencies: - bufferutil - debug @@ -10586,19 +10589,19 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.91.0: + webpack@5.92.1: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.11.3 - acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.23.0 + acorn: 8.12.0 + acorn-import-attributes: 1.9.5(acorn@8.12.0) + browserslist: 4.23.1 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.0 - es-module-lexer: 1.5.3 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -10609,7 +10612,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(webpack@5.92.1) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -10617,13 +10620,13 @@ snapshots: - esbuild - uglify-js - webpackbar@5.0.2(webpack@5.91.0): + webpackbar@5.0.2(webpack@5.92.1): dependencies: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.91.0 + webpack: 5.92.1 websocket-driver@0.7.4: dependencies: @@ -10668,9 +10671,9 @@ snapshots: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - ws@7.5.9: {} + ws@7.5.10: {} - ws@8.17.0: {} + ws@8.17.1: {} xdg-basedir@5.1.0: {} @@ -10686,6 +10689,6 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.0.0: {} + yocto-queue@1.1.1: {} zwitch@2.0.4: {} diff --git a/package.json b/package.json index ba90ca4c..24495931 100644 --- a/package.json +++ b/package.json @@ -62,23 +62,23 @@ "devDependencies": { "@types/body-parser": "^1.19.5", "@types/express": "^4.17.21", - "@types/jsonwebtoken": "^9.0.5", + "@types/jsonwebtoken": "^9.0.6", "@types/ms": "^0.7.34", - "@types/node": "^20.11.17", + "@types/node": "^20.14.9", "@types/supertest": "^6.0.2", - "@vitest/coverage-istanbul": "^1.2.2", + "@vitest/coverage-istanbul": "^1.6.0", "body-parser": "^1.20.2", - "express": "^4.18.2", - "fastify": "^4.26.0", + "express": "^4.19.2", + "fastify": "^4.28.1", "npm-run-all": "^4.1.5", - "prettier": "^3.2.5", - "rimraf": "^5.0.5", - "supertest": "^6.3.4", - "tslib": "^2.6.2", - "tsup": "^8.0.2", - "typescript": "^5.3.3", - "vite": "^5.1.1", - "vitest": "^1.2.2" + "prettier": "^3.3.2", + "rimraf": "^5.0.7", + "supertest": "^7.0.0", + "tslib": "^2.6.3", + "tsup": "^8.1.0", + "typescript": "^5.5.3", + "vite": "^5.3.2", + "vitest": "^1.6.0" }, "dependencies": { "jsonwebtoken": "^9.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea832a63..8e81725b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,290 +25,290 @@ importers: specifier: ^4.17.21 version: 4.17.21 '@types/jsonwebtoken': - specifier: ^9.0.5 - version: 9.0.5 + specifier: ^9.0.6 + version: 9.0.6 '@types/ms': specifier: ^0.7.34 version: 0.7.34 '@types/node': - specifier: ^20.11.17 - version: 20.11.17 + specifier: ^20.14.9 + version: 20.14.9 '@types/supertest': specifier: ^6.0.2 version: 6.0.2 '@vitest/coverage-istanbul': - specifier: ^1.2.2 - version: 1.2.2(vitest@1.2.2(@types/node@20.11.17)) + specifier: ^1.6.0 + version: 1.6.0(vitest@1.6.0(@types/node@20.14.9)) body-parser: specifier: ^1.20.2 version: 1.20.2 express: - specifier: ^4.18.2 - version: 4.18.2 + specifier: ^4.19.2 + version: 4.19.2 fastify: - specifier: ^4.26.0 - version: 4.26.0 + specifier: ^4.28.1 + version: 4.28.1 npm-run-all: specifier: ^4.1.5 version: 4.1.5 prettier: - specifier: ^3.2.5 - version: 3.2.5 + specifier: ^3.3.2 + version: 3.3.2 rimraf: - specifier: ^5.0.5 - version: 5.0.5 + specifier: ^5.0.7 + version: 5.0.7 supertest: - specifier: ^6.3.4 - version: 6.3.4 + specifier: ^7.0.0 + version: 7.0.0 tslib: - specifier: ^2.6.2 - version: 2.6.2 + specifier: ^2.6.3 + version: 2.6.3 tsup: - specifier: ^8.0.2 - version: 8.0.2(postcss@8.4.35)(typescript@5.3.3) + specifier: ^8.1.0 + version: 8.1.0(postcss@8.4.39)(typescript@5.5.3) typescript: - specifier: ^5.3.3 - version: 5.3.3 + specifier: ^5.5.3 + version: 5.5.3 vite: - specifier: ^5.1.1 - version: 5.1.1(@types/node@20.11.17) + specifier: ^5.3.2 + version: 5.3.2(@types/node@20.14.9) vitest: - specifier: ^1.2.2 - version: 1.2.2(@types/node@20.11.17) + specifier: ^1.6.0 + version: 1.6.0(@types/node@20.14.9) packages: - '@ampproject/remapping@2.2.1': - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.23.5': - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.23.5': - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} - '@babel/core@7.23.9': - resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} - '@babel/generator@7.23.6': - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.23.6': - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} - '@babel/helper-environment-visitor@7.22.20': - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} - '@babel/helper-function-name@7.23.0': - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.22.5': - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.22.15': - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.23.3': - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.22.5': - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.22.6': - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.23.4': - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.23.5': - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.23.9': - resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.23.4': - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.23.9': - resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/template@7.23.9': - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.23.9': - resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} - '@babel/types@7.23.9': - resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] - '@fastify/ajv-compiler@3.5.0': - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + '@fastify/ajv-compiler@3.6.0': + resolution: {integrity: sha512-LwdXQJjmMD+GwLOkP7TVC68qa+pSSogeWWmznRJ/coyTcfe9qA05AHFSe1eZFwK6q+xVRpChnvFUkf1iYaSZsQ==} '@fastify/error@3.4.1': resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} @@ -331,23 +331,23 @@ packages: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.3': - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.1': - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.1.2': - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/trace-mapping@0.3.22': - resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -365,68 +365,83 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@rollup/rollup-android-arm-eabi@4.10.0': - resolution: {integrity: sha512-/MeDQmcD96nVoRumKUljsYOLqfv1YFJps+0pTrb2Z9Nl/w5qNUysMaWQsrd1mvAlNT4yza1iVyIu4Q4AgF6V3A==} + '@rollup/rollup-android-arm-eabi@4.18.0': + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.10.0': - resolution: {integrity: sha512-lvu0jK97mZDJdpZKDnZI93I0Om8lSDaiPx3OiCk0RXn3E8CMPJNS/wxjAvSJJzhhZpfjXsjLWL8LnS6qET4VNQ==} + '@rollup/rollup-android-arm64@4.18.0': + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.10.0': - resolution: {integrity: sha512-uFpayx8I8tyOvDkD7X6n0PriDRWxcqEjqgtlxnUA/G9oS93ur9aZ8c8BEpzFmsed1TH5WZNG5IONB8IiW90TQg==} + '@rollup/rollup-darwin-arm64@4.18.0': + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.10.0': - resolution: {integrity: sha512-nIdCX03qFKoR/MwQegQBK+qZoSpO3LESurVAC6s6jazLA1Mpmgzo3Nj3H1vydXp/JM29bkCiuF7tDuToj4+U9Q==} + '@rollup/rollup-darwin-x64@4.18.0': + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.10.0': - resolution: {integrity: sha512-Fz7a+y5sYhYZMQFRkOyCs4PLhICAnxRX/GnWYReaAoruUzuRtcf+Qnw+T0CoAWbHCuz2gBUwmWnUgQ67fb3FYw==} + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.10.0': - resolution: {integrity: sha512-yPtF9jIix88orwfTi0lJiqINnlWo6p93MtZEoaehZnmCzEmLL0eqjA3eGVeyQhMtxdV+Mlsgfwhh0+M/k1/V7Q==} + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.18.0': + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.10.0': - resolution: {integrity: sha512-9GW9yA30ib+vfFiwjX+N7PnjTnCMiUffhWj4vkG4ukYv1kJ4T9gHNg8zw+ChsOccM27G9yXrEtMScf1LaCuoWQ==} + '@rollup/rollup-linux-arm64-musl@4.18.0': + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.10.0': - resolution: {integrity: sha512-X1ES+V4bMq2ws5fF4zHornxebNxMXye0ZZjUrzOrf7UMx1d6wMQtfcchZ8SqUnQPPHdOyOLW6fTcUiFgHFadRA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.10.0': - resolution: {integrity: sha512-w/5OpT2EnI/Xvypw4FIhV34jmNqU5PZjZue2l2Y3ty1Ootm3SqhI+AmfhlUYGBTd9JnpneZCDnt3uNOiOBkMyw==} + '@rollup/rollup-linux-s390x-gnu@4.18.0': + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.18.0': + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.10.0': - resolution: {integrity: sha512-q/meftEe3QlwQiGYxD9rWwB21DoKQ9Q8wA40of/of6yGHhZuGfZO0c3WYkN9dNlopHlNT3mf5BPsUSxoPuVQaw==} + '@rollup/rollup-linux-x64-musl@4.18.0': + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.10.0': - resolution: {integrity: sha512-NrR6667wlUfP0BHaEIKgYM/2va+Oj+RjZSASbBMnszM9k+1AmliRjHc3lJIiOehtSSjqYiO7R6KLNrWOX+YNSQ==} + '@rollup/rollup-win32-arm64-msvc@4.18.0': + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.10.0': - resolution: {integrity: sha512-FV0Tpt84LPYDduIDcXvEC7HKtyXxdvhdAOvOeWMWbQNulxViH2O07QXkT/FffX4FqEI02jEbCJbr+YcuKdyyMg==} + '@rollup/rollup-win32-ia32-msvc@4.18.0': + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.10.0': - resolution: {integrity: sha512-OZoJd+o5TaTSQeFFQ6WjFCiltiYVjIdsXxwu/XZ8qRpsvMQr4UsVrE5UyT9RIvsnuF47DqkJKhhVZ2Q9YW9IpQ==} + '@rollup/rollup-win32-x64-msvc@4.18.0': + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} cpu: [x64] os: [win32] @@ -445,8 +460,8 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/express-serve-static-core@4.17.43': - resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} + '@types/express-serve-static-core@4.19.5': + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -454,8 +469,8 @@ packages: '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - '@types/jsonwebtoken@9.0.5': - resolution: {integrity: sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==} + '@types/jsonwebtoken@9.0.6': + resolution: {integrity: sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw==} '@types/methods@1.1.4': resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} @@ -463,17 +478,14 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/mime@3.0.4': - resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} - '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@20.11.17': - resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} + '@types/node@20.14.9': + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} - '@types/qs@6.9.11': - resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -481,34 +493,34 @@ packages: '@types/send@0.17.4': resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} - '@types/serve-static@1.15.5': - resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} - '@types/superagent@8.1.3': - resolution: {integrity: sha512-R/CfN6w2XsixLb1Ii8INfn+BT9sGPvw74OavfkW4SwY+jeUcAwLZv2+bXLJkndnimxjEBm0RPHgcjW9pLCa8cw==} + '@types/superagent@8.1.7': + resolution: {integrity: sha512-NmIsd0Yj4DDhftfWvvAku482PZum4DBW7U51OvS8gvOkDDY0WT1jsVyDV3hK+vplrsYw8oDwi9QxOM7U68iwww==} '@types/supertest@6.0.2': resolution: {integrity: sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==} - '@vitest/coverage-istanbul@1.2.2': - resolution: {integrity: sha512-tJybwO8JT4H9ANz0T0/tJ1M5g3BkuHKYF1w5YO3z9sAiHBdGANrxN9c5lomJx1WSnLzCxQR5xxlJ4TLKbzrR3w==} + '@vitest/coverage-istanbul@1.6.0': + resolution: {integrity: sha512-h/BwpXehkkS0qsNCS00QxiupAqVkNi0WT19BR0dQvlge5oHghoSVLx63fABYFoKxVb7Ue7+k6V2KokmQ1zdMpg==} peerDependencies: - vitest: ^1.0.0 + vitest: 1.6.0 - '@vitest/expect@1.2.2': - resolution: {integrity: sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==} + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - '@vitest/runner@1.2.2': - resolution: {integrity: sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==} + '@vitest/runner@1.6.0': + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - '@vitest/snapshot@1.2.2': - resolution: {integrity: sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==} + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - '@vitest/spy@1.2.2': - resolution: {integrity: sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==} + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - '@vitest/utils@1.2.2': - resolution: {integrity: sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==} + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} @@ -521,12 +533,12 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true @@ -538,8 +550,16 @@ packages: ajv: optional: true - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv@8.16.0: + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -572,9 +592,6 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -603,12 +620,12 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - available-typed-arrays@1.0.6: - resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + avvio@8.3.2: + resolution: {integrity: sha512-st8e519GWHa/azv8S87mcJvZs4WsgTBjOw/Ih1CP6u+8SZvcOeAYNG6JbsIrAUUJJ7JfmrnOkR8ipDS+u9SIRQ==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -616,14 +633,10 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -634,12 +647,12 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.22.3: - resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==} + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -649,8 +662,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bundle-require@4.0.2: - resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} + bundle-require@4.2.1: + resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.17' @@ -663,12 +676,12 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - call-bind@1.0.6: - resolution: {integrity: sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} - caniuse-lite@1.0.30001585: - resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==} + caniuse-lite@1.0.30001639: + resolution: {integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==} chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} @@ -712,6 +725,9 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -726,8 +742,8 @@ packages: cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} cookiejar@2.1.4: @@ -741,6 +757,18 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -749,8 +777,8 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -758,12 +786,12 @@ packages: supports-color: optional: true - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} - define-data-property@1.1.2: - resolution: {integrity: sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} define-properties@1.2.1: @@ -802,8 +830,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.4.665: - resolution: {integrity: sha512-UpyCWObBoD+nSZgOC2ToaIdZB0r9GhqT2WahPKiSki6ckkSuKhQNso8V2PrFcHBMleI/eqbKgVQgVC4Wni4ilw==} + electron-to-chromium@1.4.816: + resolution: {integrity: sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -818,24 +846,32 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true @@ -873,8 +909,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} fast-content-type-parse@1.1.0: @@ -890,53 +926,53 @@ packages: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} - fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + fast-json-stringify@5.16.1: + resolution: {integrity: sha512-KAdnLvy1yu/XrRtP+LJnxbBGrhN+xXu+gt3EUvZhYGKCr3lFHq/7UFJHHFgmJKoqlh6B40bZLEv7w46B0mqn1g==} fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} engines: {node: '>=6'} fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + fast-uri@2.4.0: + resolution: {integrity: sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==} - fastify@4.26.0: - resolution: {integrity: sha512-Fq/7ziWKc6pYLYLIlCRaqJqEVTIZ5tZYfcW/mDK2AQ9v/sqjGFpj0On0/7hU50kbPVjLO4de+larPA1WwPZSfw==} + fastify@4.28.1: + resolution: {integrity: sha512-kFWUtpNr4i7t5vY2EJPCN2KgMVpuqfU4NjnJNCgiNB900oiDeYqaNDRcAfeBbOF5hGixixxcKnOU4KN9z6QncQ==} fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} - find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + find-my-way@8.2.0: + resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} engines: {node: '>=14'} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} - formidable@2.1.2: - resolution: {integrity: sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==} + formidable@3.5.1: + resolution: {integrity: sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==} forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -991,20 +1027,21 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} + glob@10.4.2: + resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} + engines: {node: '>=16 || 14 >=14.18'} hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} globby@11.1.0: @@ -1028,11 +1065,11 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} has-symbols@1.0.3: @@ -1043,8 +1080,8 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} hexoid@1.0.0: @@ -1082,6 +1119,7 @@ packages: inflight@1.0.6: resolution: {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. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -1116,8 +1154,13 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -1135,8 +1178,8 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} is-number-object@1.0.7: @@ -1151,8 +1194,9 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} @@ -1187,24 +1231,24 @@ packages: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} - istanbul-lib-instrument@6.0.1: - resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} engines: {node: '>=10'} istanbul-lib-report@3.0.1: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} engines: {node: '>=10'} - istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} joycon@3.1.1: @@ -1214,6 +1258,9 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -1233,9 +1280,6 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} @@ -1246,11 +1290,11 @@ packages: jws@3.2.2: resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} - light-my-request@5.11.0: - resolution: {integrity: sha512-qkFCeloXCOMpmEdZ/MV91P8AT4fjwFXWaAFz3lUeStM8RcoM1ks4J/F8r1b3r6y/H4u3ACEJ1T+Gv5bopj7oDA==} + light-my-request@5.13.0: + resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} - lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -1295,23 +1339,18 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - - magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} - magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + magicast@0.3.4: + resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -1339,8 +1378,8 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -1372,16 +1411,16 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - mlly@1.5.0: - resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -1426,16 +1465,17 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-run-path@5.2.0: - resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -1468,6 +1508,9 @@ packages: resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} engines: {node: '>=18'} + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -1495,9 +1538,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -1516,8 +1559,8 @@ packages: pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -1532,22 +1575,26 @@ packages: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} - pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} - pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + pino-std-serializers@7.0.0: + resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@8.18.0: - resolution: {integrity: sha512-Mz/gKiRyuXu4HnpHgi1YWdHQCoWMufapzooisvFn78zl4dZciAxS+YeRkUxXl1ee/SzU80YCz1zpECCh4oC6Aw==} + pino@9.2.0: + resolution: {integrity: sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==} hasBin: true pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.1.2: + resolution: {integrity: sha512-VEGf1he2DR5yowYRl0XJhWJq5ktm9gYIsH+y8sNJpHlxch7JPDaufgrsl4vYjd9hMUY8QVjoNncKbow9I7exyA==} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} postcss-load-config@4.0.2: resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} @@ -1561,12 +1608,12 @@ packages: ts-node: optional: true - postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true @@ -1574,9 +1621,6 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - process-warning@2.3.2: - resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} - process-warning@3.0.0: resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} @@ -1596,8 +1640,8 @@ packages: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} - qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + qs@6.12.2: + resolution: {integrity: sha512-x+NLUpx9SYrcwXtX7ob1gnkSems4i/mGZX5SlYxwIau6RrUSODO89TR/XDGGpn5RPWSYIB+aSfuSlV5+CmbTBg==} engines: {node: '>=0.6'} queue-microtask@1.2.3: @@ -1610,16 +1654,12 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} read-pkg@3.0.0: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} @@ -1637,8 +1677,8 @@ packages: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} - regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} require-from-string@2.0.2: @@ -1653,32 +1693,32 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} + ret@0.4.3: + resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} + engines: {node: '>=10'} reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} + rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} hasBin: true - rollup@4.10.0: - resolution: {integrity: sha512-t2v9G2AKxcQ8yrG+WGxctBes1AomT0M4ND7jTFBCVPXQ/WFTvNSefIrNSmLKhIKBrvN8SG+CZslimJcT3W2u2g==} + rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-array-concat@1.1.0: - resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} safe-buffer@5.2.1: @@ -1688,8 +1728,8 @@ packages: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} - safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + safe-regex2@3.1.0: + resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} safe-stable-stringify@2.4.3: resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} @@ -1709,8 +1749,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -1725,12 +1765,12 @@ packages: set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} setprototypeof@1.2.0: @@ -1755,8 +1795,8 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - side-channel@1.0.5: - resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} siginfo@2.0.0: @@ -1773,15 +1813,11 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + sonic-boom@4.0.1: + resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==} - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} source-map@0.8.0-beta.0: @@ -1791,14 +1827,14 @@ packages: spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - spdx-exceptions@2.4.0: - resolution: {integrity: sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==} + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} @@ -1822,19 +1858,20 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string.prototype.padend@3.1.5: - resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} + string.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} engines: {node: '>= 0.4'} - string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -1859,21 +1896,21 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true - superagent@8.1.2: - resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} - engines: {node: '>=6.4.0 <13 || >=14'} + superagent@9.0.2: + resolution: {integrity: sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==} + engines: {node: '>=14.18.0'} - supertest@6.3.4: - resolution: {integrity: sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==} - engines: {node: '>=6.4.0'} + supertest@7.0.0: + resolution: {integrity: sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==} + engines: {node: '>=14.18.0'} supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -1898,14 +1935,14 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + thread-stream@3.1.0: + resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} - tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + tinybench@2.8.0: + resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} - tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} tinyspy@2.2.1: @@ -1938,11 +1975,11 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tsup@8.0.2: - resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} + tsup@8.1.0: + resolution: {integrity: sha512-UFdfCAXukax+U6KzeTNO2kAARHcWxmKsnvSPXUcfA1D+kU05XDccCrkffCQpFaWDsZfV0jMyTsxU39VfCp6EOg==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -1968,28 +2005,29 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - typed-array-buffer@1.0.1: - resolution: {integrity: sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==} + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} - typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} - typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} hasBin: true - ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -2001,8 +2039,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -2021,13 +2059,13 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vite-node@1.2.2: - resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite@5.1.1: - resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} + vite@5.3.2: + resolution: {integrity: sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2054,15 +2092,15 @@ packages: terser: optional: true - vitest@1.2.2: - resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': ^1.0.0 - '@vitest/ui': ^1.0.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2088,8 +2126,8 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-typed-array@1.1.14: - resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} which@1.3.1: @@ -2120,229 +2158,235 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} + hasBin: true - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} snapshots: - '@ampproject/remapping@2.2.1': + '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 - '@babel/code-frame@7.23.5': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 - '@babel/compat-data@7.23.5': {} + '@babel/compat-data@7.24.7': {} - '@babel/core@7.23.9': + '@babel/core@7.24.7': dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helpers': 7.23.9 - '@babel/parser': 7.23.9 - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.5 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.23.6': + '@babel/generator@7.24.7': dependencies: - '@babel/types': 7.23.9 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - '@babel/helper-compilation-targets@7.23.6': + '@babel/helper-compilation-targets@7.24.7': dependencies: - '@babel/compat-data': 7.23.5 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.3 + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-environment-visitor@7.22.20': {} + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 - '@babel/helper-function-name@7.23.0': + '@babel/helper-function-name@7.24.7': dependencies: - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/helper-hoist-variables@7.22.5': + '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.7 - '@babel/helper-module-imports@7.22.15': + '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/types': 7.23.9 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9)': + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-simple-access@7.22.5': + '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/types': 7.23.9 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-split-export-declaration@7.22.6': + '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.7 - '@babel/helper-string-parser@7.23.4': {} + '@babel/helper-string-parser@7.24.7': {} - '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-option@7.23.5': {} + '@babel/helper-validator-option@7.24.7': {} - '@babel/helpers@7.23.9': + '@babel/helpers@7.24.7': dependencies: - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - transitivePeerDependencies: - - supports-color + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/highlight@7.23.4': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.1 - '@babel/parser@7.23.9': + '@babel/parser@7.24.7': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.7 - '@babel/template@7.23.9': + '@babel/template@7.24.7': dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 - '@babel/traverse@7.23.9': + '@babel/traverse@7.24.7': dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - debug: 4.3.4 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.23.9': + '@babel/types@7.24.7': dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@esbuild/aix-ppc64@0.19.12': + '@esbuild/aix-ppc64@0.21.5': optional: true - '@esbuild/android-arm64@0.19.12': + '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm@0.19.12': + '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-x64@0.19.12': + '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.19.12': + '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-x64@0.19.12': + '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.19.12': + '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.19.12': + '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/linux-arm64@0.19.12': + '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm@0.19.12': + '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-ia32@0.19.12': + '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-loong64@0.19.12': + '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-mips64el@0.19.12': + '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-ppc64@0.19.12': + '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.19.12': + '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-s390x@0.19.12': + '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-x64@0.19.12': + '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.19.12': + '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.19.12': + '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/sunos-x64@0.19.12': + '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/win32-arm64@0.19.12': + '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/win32-ia32@0.19.12': + '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-x64@0.19.12': + '@esbuild/win32-x64@0.21.5': optional: true - '@fastify/ajv-compiler@3.5.0': + '@fastify/ajv-compiler@3.6.0': dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 + ajv: 8.16.0 + ajv-formats: 2.1.1(ajv@8.16.0) + fast-uri: 2.4.0 '@fastify/error@3.4.1': {} '@fastify/fast-json-stringify-compiler@4.3.0': dependencies: - fast-json-stringify: 5.12.0 + fast-json-stringify: 5.16.1 '@fastify/merge-json-schemas@0.1.1': dependencies: @@ -2363,21 +2407,21 @@ snapshots: dependencies: '@sinclair/typebox': 0.27.8 - '@jridgewell/gen-mapping@0.3.3': + '@jridgewell/gen-mapping@0.3.5': dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.1': {} + '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/set-array@1.1.2': {} + '@jridgewell/set-array@1.2.1': {} '@jridgewell/sourcemap-codec@1.4.15': {} - '@jridgewell/trace-mapping@0.3.22': + '@jridgewell/trace-mapping@0.3.25': dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@nodelib/fs.scandir@2.1.5': @@ -2395,43 +2439,52 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@rollup/rollup-android-arm-eabi@4.10.0': + '@rollup/rollup-android-arm-eabi@4.18.0': + optional: true + + '@rollup/rollup-android-arm64@4.18.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.18.0': + optional: true + + '@rollup/rollup-darwin-x64@4.18.0': optional: true - '@rollup/rollup-android-arm64@4.10.0': + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': optional: true - '@rollup/rollup-darwin-arm64@4.10.0': + '@rollup/rollup-linux-arm-musleabihf@4.18.0': optional: true - '@rollup/rollup-darwin-x64@4.10.0': + '@rollup/rollup-linux-arm64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.10.0': + '@rollup/rollup-linux-arm64-musl@4.18.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.10.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.10.0': + '@rollup/rollup-linux-riscv64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.10.0': + '@rollup/rollup-linux-s390x-gnu@4.18.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.10.0': + '@rollup/rollup-linux-x64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-x64-musl@4.10.0': + '@rollup/rollup-linux-x64-musl@4.18.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.10.0': + '@rollup/rollup-win32-arm64-msvc@4.18.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.10.0': + '@rollup/rollup-win32-ia32-msvc@4.18.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.10.0': + '@rollup/rollup-win32-x64-msvc@4.18.0': optional: true '@sinclair/typebox@0.27.8': {} @@ -2439,112 +2492,110 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.17 + '@types/node': 20.14.9 '@types/connect@3.4.38': dependencies: - '@types/node': 20.11.17 + '@types/node': 20.14.9 '@types/cookiejar@2.1.5': {} '@types/estree@1.0.5': {} - '@types/express-serve-static-core@4.17.43': + '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.11.17 - '@types/qs': 6.9.11 + '@types/node': 20.14.9 + '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.17.43 - '@types/qs': 6.9.11 - '@types/serve-static': 1.15.5 + '@types/express-serve-static-core': 4.19.5 + '@types/qs': 6.9.15 + '@types/serve-static': 1.15.7 '@types/http-errors@2.0.4': {} - '@types/jsonwebtoken@9.0.5': + '@types/jsonwebtoken@9.0.6': dependencies: - '@types/node': 20.11.17 + '@types/node': 20.14.9 '@types/methods@1.1.4': {} '@types/mime@1.3.5': {} - '@types/mime@3.0.4': {} - '@types/ms@0.7.34': {} - '@types/node@20.11.17': + '@types/node@20.14.9': dependencies: undici-types: 5.26.5 - '@types/qs@6.9.11': {} + '@types/qs@6.9.15': {} '@types/range-parser@1.2.7': {} '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.17 + '@types/node': 20.14.9 - '@types/serve-static@1.15.5': + '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/mime': 3.0.4 - '@types/node': 20.11.17 + '@types/node': 20.14.9 + '@types/send': 0.17.4 - '@types/superagent@8.1.3': + '@types/superagent@8.1.7': dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 20.11.17 + '@types/node': 20.14.9 '@types/supertest@6.0.2': dependencies: '@types/methods': 1.1.4 - '@types/superagent': 8.1.3 + '@types/superagent': 8.1.7 - '@vitest/coverage-istanbul@1.2.2(vitest@1.2.2(@types/node@20.11.17))': + '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@20.14.9))': dependencies: - debug: 4.3.4 + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.1 + istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 - magicast: 0.3.3 - picocolors: 1.0.0 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.1.7 + magicast: 0.3.4 + picocolors: 1.0.1 test-exclude: 6.0.0 - vitest: 1.2.2(@types/node@20.11.17) + vitest: 1.6.0(@types/node@20.14.9) transitivePeerDependencies: - supports-color - '@vitest/expect@1.2.2': + '@vitest/expect@1.6.0': dependencies: - '@vitest/spy': 1.2.2 - '@vitest/utils': 1.2.2 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 chai: 4.4.1 - '@vitest/runner@1.2.2': + '@vitest/runner@1.6.0': dependencies: - '@vitest/utils': 1.2.2 + '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 - '@vitest/snapshot@1.2.2': + '@vitest/snapshot@1.6.0': dependencies: - magic-string: 0.30.7 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 - '@vitest/spy@1.2.2': + '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.1 - '@vitest/utils@1.2.2': + '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -2562,15 +2613,21 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-walk@8.3.2: {} + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.0 - acorn@8.11.3: {} + acorn@8.12.0: {} + + ajv-formats@2.1.1(ajv@8.16.0): + optionalDependencies: + ajv: 8.16.0 - ajv-formats@2.1.1(ajv@8.12.0): + ajv-formats@3.0.1(ajv@8.16.0): optionalDependencies: - ajv: 8.12.0 + ajv: 8.16.0 - ajv@8.12.0: + ajv@8.16.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -2600,11 +2657,9 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - archy@1.0.0: {} - array-buffer-byte-length@1.0.1: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 is-array-buffer: 3.0.4 array-flatten@1.1.1: {} @@ -2614,13 +2669,13 @@ snapshots: arraybuffer.prototype.slice@1.0.3: dependencies: array-buffer-byte-length: 1.0.1 - call-bind: 1.0.6 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 asap@2.0.6: {} @@ -2630,39 +2685,20 @@ snapshots: atomic-sleep@1.0.0: {} - available-typed-arrays@1.0.6: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 - avvio@8.3.0: + avvio@8.3.2: dependencies: '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 fastq: 1.17.1 - transitivePeerDependencies: - - supports-color balanced-match@1.0.2: {} base64-js@1.5.1: {} - binary-extensions@2.2.0: {} - - body-parser@1.20.1: - 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.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + binary-extensions@2.3.0: {} body-parser@1.20.2: dependencies: @@ -2690,16 +2726,16 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 - browserslist@4.22.3: + browserslist@4.23.1: dependencies: - caniuse-lite: 1.0.30001585 - electron-to-chromium: 1.4.665 + caniuse-lite: 1.0.30001639 + electron-to-chromium: 1.4.816 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.3) + update-browserslist-db: 1.0.16(browserslist@4.23.1) buffer-equal-constant-time@1.0.1: {} @@ -2708,29 +2744,30 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bundle-require@4.0.2(esbuild@0.19.12): + bundle-require@4.2.1(esbuild@0.21.5): dependencies: - esbuild: 0.19.12 + esbuild: 0.21.5 load-tsconfig: 0.2.5 bytes@3.1.2: {} cac@6.7.14: {} - call-bind@1.0.6: + call-bind@1.0.7: dependencies: + es-define-property: 1.0.0 es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - set-function-length: 1.2.1 + set-function-length: 1.2.2 - caniuse-lite@1.0.30001585: {} + caniuse-lite@1.0.30001639: {} chai@4.4.1: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.3 + deep-eql: 4.1.4 get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 @@ -2749,7 +2786,7 @@ snapshots: chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -2780,6 +2817,8 @@ snapshots: concat-map@0.0.1: {} + confbox@0.1.7: {} + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -2790,7 +2829,7 @@ snapshots: cookie-signature@1.0.6: {} - cookie@0.5.0: {} + cookie@0.6.0: {} cookiejar@2.1.4: {} @@ -2808,29 +2847,46 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + debug@2.6.9: dependencies: ms: 2.0.0 - debug@4.3.4: + debug@4.3.5: dependencies: ms: 2.1.2 - deep-eql@4.1.3: + deep-eql@4.1.4: dependencies: type-detect: 4.0.8 - define-data-property@1.1.2: + define-data-property@1.1.4: dependencies: + es-define-property: 1.0.0 es-errors: 1.3.0 - get-intrinsic: 1.2.4 gopd: 1.0.1 - has-property-descriptors: 1.0.1 define-properties@1.2.1: dependencies: - define-data-property: 1.1.2 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 delayed-stream@1.0.0: {} @@ -2858,7 +2914,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.4.665: {} + electron-to-chromium@1.4.816: {} emoji-regex@8.0.0: {} @@ -2870,55 +2926,70 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.22.3: + es-abstract@1.23.3: dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.6 - call-bind: 1.0.6 - es-set-tostringtag: 2.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.2 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.1.0 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.1 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.14 + which-typed-array: 1.1.15 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 es-errors@1.3.0: {} - es-set-tostringtag@2.0.2: + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 - hasown: 2.0.0 + hasown: 2.0.2 es-to-primitive@1.2.1: dependencies: @@ -2926,31 +2997,31 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - esbuild@0.19.12: + esbuild@0.21.5: optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 escalade@3.1.2: {} @@ -2987,19 +3058,19 @@ snapshots: human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.2.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - express@4.18.2: + express@4.19.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.1 + body-parser: 1.20.2 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.5.0 + cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -3040,54 +3111,52 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 - fast-json-stringify@5.12.0: + fast-json-stringify@5.16.1: dependencies: '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + ajv: 8.16.0 + ajv-formats: 3.0.1(ajv@8.16.0) fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 + fast-uri: 2.4.0 json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 + rfdc: 1.4.1 fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 - fast-redact@3.3.0: {} + fast-redact@3.5.0: {} fast-safe-stringify@2.1.1: {} - fast-uri@2.3.0: {} + fast-uri@2.4.0: {} - fastify@4.26.0: + fastify@4.28.1: dependencies: - '@fastify/ajv-compiler': 3.5.0 + '@fastify/ajv-compiler': 3.6.0 '@fastify/error': 3.4.1 '@fastify/fast-json-stringify-compiler': 4.3.0 abstract-logging: 2.0.1 - avvio: 8.3.0 + avvio: 8.3.2 fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.0 - pino: 8.18.0 + fast-json-stringify: 5.16.1 + find-my-way: 8.2.0 + light-my-request: 5.13.0 + pino: 9.2.0 process-warning: 3.0.0 proxy-addr: 2.0.7 - rfdc: 1.3.1 + rfdc: 1.4.1 secure-json-parse: 2.7.0 - semver: 7.6.0 + semver: 7.6.2 toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color fastq@1.17.1: dependencies: reusify: 1.0.4 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -3103,17 +3172,17 @@ snapshots: transitivePeerDependencies: - supports-color - find-my-way@8.1.0: + find-my-way@8.2.0: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 - safe-regex2: 2.0.0 + safe-regex2: 3.1.0 for-each@0.3.3: dependencies: is-callable: 1.2.7 - foreground-child@3.1.1: + foreground-child@3.2.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -3124,12 +3193,11 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - formidable@2.1.2: + formidable@3.5.1: dependencies: dezalgo: 1.0.4 hexoid: 1.0.0 once: 1.4.0 - qs: 6.11.2 forwarded@0.2.0: {} @@ -3144,9 +3212,9 @@ snapshots: function.prototype.name@1.1.6: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 functions-have-names: 1.2.3 functions-have-names@1.2.3: {} @@ -3159,9 +3227,9 @@ snapshots: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.2 get-stream@6.0.1: {} @@ -3169,7 +3237,7 @@ snapshots: get-symbol-description@1.0.2: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 @@ -3177,13 +3245,14 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.3.10: + glob@10.4.2: dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 + foreground-child: 3.2.1 + jackspeak: 3.4.0 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 glob@7.2.3: dependencies: @@ -3196,9 +3265,10 @@ snapshots: globals@11.12.0: {} - globalthis@1.0.3: + globalthis@1.0.4: dependencies: define-properties: 1.2.1 + gopd: 1.0.1 globby@11.1.0: dependencies: @@ -3221,11 +3291,11 @@ snapshots: has-flag@4.0.0: {} - has-property-descriptors@1.0.1: + has-property-descriptors@1.0.2: dependencies: - get-intrinsic: 1.2.4 + es-define-property: 1.0.0 - has-proto@1.0.1: {} + has-proto@1.0.3: {} has-symbols@1.0.3: {} @@ -3233,7 +3303,7 @@ snapshots: dependencies: has-symbols: 1.0.3 - hasown@2.0.0: + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -3273,14 +3343,14 @@ snapshots: internal-slot@1.0.7: dependencies: es-errors: 1.3.0 - hasown: 2.0.0 - side-channel: 1.0.5 + hasown: 2.0.2 + side-channel: 1.0.6 ipaddr.js@1.9.1: {} is-array-buffer@3.0.4: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 get-intrinsic: 1.2.4 is-arrayish@0.2.1: {} @@ -3291,18 +3361,22 @@ snapshots: is-binary-path@2.1.0: dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 is-boolean-object@1.1.2: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 has-tostringtag: 1.0.2 is-callable@1.2.7: {} - is-core-module@2.13.1: + is-core-module@2.14.0: dependencies: - hasown: 2.0.0 + hasown: 2.0.2 + + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 is-date-object@1.0.5: dependencies: @@ -3316,7 +3390,7 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-negative-zero@2.0.2: {} + is-negative-zero@2.0.3: {} is-number-object@1.0.7: dependencies: @@ -3326,12 +3400,12 @@ snapshots: is-regex@1.1.4: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-shared-array-buffer@1.0.2: + is-shared-array-buffer@1.0.3: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 is-stream@2.0.1: {} @@ -3347,11 +3421,11 @@ snapshots: is-typed-array@1.1.13: dependencies: - which-typed-array: 1.1.14 + which-typed-array: 1.1.15 is-weakref@1.0.2: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 isarray@2.0.5: {} @@ -3359,13 +3433,13 @@ snapshots: istanbul-lib-coverage@3.2.2: {} - istanbul-lib-instrument@6.0.1: + istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.23.9 - '@babel/parser': 7.23.9 + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color @@ -3375,20 +3449,20 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@4.0.1: + istanbul-lib-source-maps@5.0.6: dependencies: - debug: 4.3.4 + '@jridgewell/trace-mapping': 0.3.25 + debug: 4.3.5 istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 transitivePeerDependencies: - supports-color - istanbul-reports@3.1.6: + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@2.3.6: + jackspeak@3.4.0: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -3398,6 +3472,8 @@ snapshots: js-tokens@4.0.0: {} + js-tokens@9.0.0: {} + jsesc@2.5.2: {} json-parse-better-errors@1.0.2: {} @@ -3410,8 +3486,6 @@ snapshots: json5@2.2.3: {} - jsonc-parser@3.2.1: {} - jsonwebtoken@9.0.2: dependencies: jws: 3.2.2 @@ -3423,7 +3497,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.6.0 + semver: 7.6.2 jwa@1.4.1: dependencies: @@ -3436,13 +3510,13 @@ snapshots: jwa: 1.4.1 safe-buffer: 5.2.1 - light-my-request@5.11.0: + light-my-request@5.13.0: dependencies: - cookie: 0.5.0 - process-warning: 2.3.2 + cookie: 0.6.0 + process-warning: 3.0.0 set-cookie-parser: 2.6.0 - lilconfig@3.0.0: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -3457,8 +3531,8 @@ snapshots: local-pkg@0.5.0: dependencies: - mlly: 1.5.0 - pkg-types: 1.0.3 + mlly: 1.7.1 + pkg-types: 1.1.2 lodash.includes@4.3.0: {} @@ -3480,29 +3554,25 @@ snapshots: dependencies: get-func-name: 2.0.2 - lru-cache@10.2.0: {} + lru-cache@10.3.0: {} lru-cache@5.1.1: dependencies: yallist: 3.1.1 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - - magic-string@0.30.7: + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - magicast@0.3.3: + magicast@0.3.4: dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - source-map-js: 1.0.2 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + source-map-js: 1.2.0 make-dir@4.0.0: dependencies: - semver: 7.6.0 + semver: 7.6.2 media-typer@0.3.0: {} @@ -3516,9 +3586,9 @@ snapshots: methods@1.1.2: {} - micromatch@4.0.5: + micromatch@4.0.7: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 mime-db@1.52.0: {} @@ -3539,18 +3609,18 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.3: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 - minipass@7.0.4: {} + minipass@7.1.2: {} - mlly@1.5.0: + mlly@1.7.1: dependencies: - acorn: 8.11.3 + acorn: 8.12.0 pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 + pkg-types: 1.1.2 + ufo: 1.5.3 ms@2.0.0: {} @@ -3591,25 +3661,25 @@ snapshots: pidtree: 0.3.1 read-pkg: 3.0.0 shell-quote: 1.8.1 - string.prototype.padend: 3.1.5 + string.prototype.padend: 3.1.6 npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - npm-run-path@5.2.0: + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 object-assign@4.1.1: {} - object-inspect@1.13.1: {} + object-inspect@1.13.2: {} object-keys@1.1.1: {} object.assign@4.1.5: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -3634,7 +3704,9 @@ snapshots: p-limit@5.0.0: dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.1.1 + + package-json-from-dist@1.0.0: {} parse-json@4.0.0: dependencies: @@ -3653,10 +3725,10 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.1: + path-scurry@1.11.1: dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 + lru-cache: 10.3.0 + minipass: 7.1.2 path-to-regexp@0.1.7: {} @@ -3670,7 +3742,7 @@ snapshots: pathval@1.1.1: {} - picocolors@1.0.0: {} + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -3678,57 +3750,57 @@ snapshots: pify@3.0.0: {} - pino-abstract-transport@1.1.0: + pino-abstract-transport@1.2.0: dependencies: readable-stream: 4.5.2 split2: 4.2.0 - pino-std-serializers@6.2.2: {} + pino-std-serializers@7.0.0: {} - pino@8.18.0: + pino@9.2.0: dependencies: atomic-sleep: 1.0.0 - fast-redact: 3.3.0 + fast-redact: 3.5.0 on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 + pino-abstract-transport: 1.2.0 + pino-std-serializers: 7.0.0 process-warning: 3.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 + sonic-boom: 4.0.1 + thread-stream: 3.1.0 pirates@4.0.6: {} - pkg-types@1.0.3: + pkg-types@1.1.2: dependencies: - jsonc-parser: 3.2.1 - mlly: 1.5.0 + confbox: 0.1.7 + mlly: 1.7.1 pathe: 1.1.2 - postcss-load-config@4.0.2(postcss@8.4.35): + possible-typed-array-names@1.0.0: {} + + postcss-load-config@4.0.2(postcss@8.4.39): dependencies: - lilconfig: 3.0.0 - yaml: 2.3.4 + lilconfig: 3.1.2 + yaml: 2.4.5 optionalDependencies: - postcss: 8.4.35 + postcss: 8.4.39 - postcss@8.4.35: + postcss@8.4.39: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.0.1 + source-map-js: 1.2.0 - prettier@3.2.5: {} + prettier@3.3.2: {} pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 - - process-warning@2.3.2: {} + react-is: 18.3.1 process-warning@3.0.0: {} @@ -3743,11 +3815,11 @@ snapshots: qs@6.11.0: dependencies: - side-channel: 1.0.5 + side-channel: 1.0.6 - qs@6.11.2: + qs@6.12.2: dependencies: - side-channel: 1.0.5 + side-channel: 1.0.6 queue-microtask@1.2.3: {} @@ -3755,13 +3827,6 @@ snapshots: range-parser@1.2.1: {} - raw-body@2.5.1: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - raw-body@2.5.2: dependencies: bytes: 3.1.2 @@ -3769,7 +3834,7 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - react-is@18.2.0: {} + react-is@18.3.1: {} read-pkg@3.0.0: dependencies: @@ -3791,11 +3856,12 @@ snapshots: real-require@0.2.0: {} - regexp.prototype.flags@1.5.1: + regexp.prototype.flags@1.5.2: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 define-properties: 1.2.1 - set-function-name: 2.0.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 require-from-string@2.0.2: {} @@ -3803,46 +3869,49 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - ret@0.2.2: {} + ret@0.4.3: {} reusify@1.0.4: {} - rfdc@1.3.1: {} + rfdc@1.4.1: {} - rimraf@5.0.5: + rimraf@5.0.7: dependencies: - glob: 10.3.10 + glob: 10.4.2 - rollup@4.10.0: + rollup@4.18.0: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.10.0 - '@rollup/rollup-android-arm64': 4.10.0 - '@rollup/rollup-darwin-arm64': 4.10.0 - '@rollup/rollup-darwin-x64': 4.10.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.10.0 - '@rollup/rollup-linux-arm64-gnu': 4.10.0 - '@rollup/rollup-linux-arm64-musl': 4.10.0 - '@rollup/rollup-linux-riscv64-gnu': 4.10.0 - '@rollup/rollup-linux-x64-gnu': 4.10.0 - '@rollup/rollup-linux-x64-musl': 4.10.0 - '@rollup/rollup-win32-arm64-msvc': 4.10.0 - '@rollup/rollup-win32-ia32-msvc': 4.10.0 - '@rollup/rollup-win32-x64-msvc': 4.10.0 + '@rollup/rollup-android-arm-eabi': 4.18.0 + '@rollup/rollup-android-arm64': 4.18.0 + '@rollup/rollup-darwin-arm64': 4.18.0 + '@rollup/rollup-darwin-x64': 4.18.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 + '@rollup/rollup-linux-arm-musleabihf': 4.18.0 + '@rollup/rollup-linux-arm64-gnu': 4.18.0 + '@rollup/rollup-linux-arm64-musl': 4.18.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 + '@rollup/rollup-linux-riscv64-gnu': 4.18.0 + '@rollup/rollup-linux-s390x-gnu': 4.18.0 + '@rollup/rollup-linux-x64-gnu': 4.18.0 + '@rollup/rollup-linux-x64-musl': 4.18.0 + '@rollup/rollup-win32-arm64-msvc': 4.18.0 + '@rollup/rollup-win32-ia32-msvc': 4.18.0 + '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - safe-array-concat@1.1.0: + safe-array-concat@1.1.2: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 @@ -3851,13 +3920,13 @@ snapshots: safe-regex-test@1.0.3: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 es-errors: 1.3.0 is-regex: 1.1.4 - safe-regex2@2.0.0: + safe-regex2@3.1.0: dependencies: - ret: 0.2.2 + ret: 0.4.3 safe-stable-stringify@2.4.3: {} @@ -3869,9 +3938,7 @@ snapshots: semver@6.3.1: {} - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} send@0.18.0: dependencies: @@ -3902,20 +3969,21 @@ snapshots: set-cookie-parser@2.6.0: {} - set-function-length@1.2.1: + set-function-length@1.2.2: dependencies: - define-data-property: 1.1.2 + 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.1 + has-property-descriptors: 1.0.2 - set-function-name@2.0.1: + set-function-name@2.0.2: dependencies: - define-data-property: 1.1.2 + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 setprototypeof@1.2.0: {} @@ -3933,12 +4001,12 @@ snapshots: shell-quote@1.8.1: {} - side-channel@1.0.5: + side-channel@1.0.6: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 siginfo@2.0.0: {} @@ -3948,13 +4016,11 @@ snapshots: slash@3.0.0: {} - sonic-boom@3.8.0: + sonic-boom@4.0.1: dependencies: atomic-sleep: 1.0.0 - source-map-js@1.0.2: {} - - source-map@0.6.1: {} + source-map-js@1.2.0: {} source-map@0.8.0-beta.0: dependencies: @@ -3963,16 +4029,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.18 - spdx-exceptions@2.4.0: {} + spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: - spdx-exceptions: 2.4.0 - spdx-license-ids: 3.0.17 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.18 - spdx-license-ids@3.0.17: {} + spdx-license-ids@3.0.18: {} split2@4.2.0: {} @@ -3994,29 +4060,31 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string.prototype.padend@3.1.5: + string.prototype.padend@3.1.6: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - string.prototype.trim@1.2.8: + string.prototype.trim@1.2.9: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - string.prototype.trimend@1.0.7: + string.prototype.trimend@1.0.8: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-object-atoms: 1.0.0 - string.prototype.trimstart@1.0.7: + string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-object-atoms: 1.0.0 string_decoder@1.3.0: dependencies: @@ -4036,39 +4104,38 @@ snapshots: strip-final-newline@3.0.0: {} - strip-literal@1.3.0: + strip-literal@2.1.0: dependencies: - acorn: 8.11.3 + js-tokens: 9.0.0 sucrase@3.35.0: dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 10.3.10 + glob: 10.4.2 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 ts-interface-checker: 0.1.13 - superagent@8.1.2: + superagent@9.0.2: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.4 + debug: 4.3.5 fast-safe-stringify: 2.1.1 form-data: 4.0.0 - formidable: 2.1.2 + formidable: 3.5.1 methods: 1.1.2 mime: 2.6.0 - qs: 6.11.2 - semver: 7.6.0 + qs: 6.12.2 transitivePeerDependencies: - supports-color - supertest@6.3.4: + supertest@7.0.0: dependencies: methods: 1.1.2 - superagent: 8.1.2 + superagent: 9.0.2 transitivePeerDependencies: - supports-color @@ -4096,13 +4163,13 @@ snapshots: dependencies: any-promise: 1.3.0 - thread-stream@2.4.1: + thread-stream@3.1.0: dependencies: real-require: 0.2.0 - tinybench@2.6.0: {} + tinybench@2.8.0: {} - tinypool@0.8.2: {} + tinypool@0.8.4: {} tinyspy@2.2.1: {} @@ -4124,27 +4191,27 @@ snapshots: ts-interface-checker@0.1.13: {} - tslib@2.6.2: {} + tslib@2.6.3: {} - tsup@8.0.2(postcss@8.4.35)(typescript@5.3.3): + tsup@8.1.0(postcss@8.4.39)(typescript@5.5.3): dependencies: - bundle-require: 4.0.2(esbuild@0.19.12) + bundle-require: 4.2.1(esbuild@0.21.5) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.3.4 - esbuild: 0.19.12 + debug: 4.3.5 + esbuild: 0.21.5 execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2(postcss@8.4.35) + postcss-load-config: 4.0.2(postcss@8.4.39) resolve-from: 5.0.0 - rollup: 4.10.0 + rollup: 4.18.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.4.35 - typescript: 5.3.3 + postcss: 8.4.39 + typescript: 5.5.3 transitivePeerDependencies: - supports-color - ts-node @@ -4156,40 +4223,45 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - typed-array-buffer@1.0.1: + typed-array-buffer@1.0.2: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 - typed-array-byte-length@1.0.0: + typed-array-byte-length@1.0.1: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 - typed-array-byte-offset@1.0.0: + typed-array-byte-offset@1.0.2: dependencies: - available-typed-arrays: 1.0.6 - call-bind: 1.0.6 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 - typed-array-length@1.0.4: + typed-array-length@1.0.6: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 - typescript@5.3.3: {} + typescript@5.5.3: {} - ufo@1.4.0: {} + ufo@1.5.3: {} unbox-primitive@1.0.2: dependencies: - call-bind: 1.0.6 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -4198,11 +4270,11 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.0.13(browserslist@4.22.3): + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: - browserslist: 4.22.3 + browserslist: 4.23.1 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 uri-js@4.4.1: dependencies: @@ -4217,13 +4289,13 @@ snapshots: vary@1.1.2: {} - vite-node@1.2.2(@types/node@20.11.17): + vite-node@1.6.0(@types/node@20.14.9): dependencies: cac: 6.7.14 - debug: 4.3.4 + debug: 4.3.5 pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.1(@types/node@20.11.17) + picocolors: 1.0.1 + vite: 5.3.2(@types/node@20.14.9) transitivePeerDependencies: - '@types/node' - less @@ -4234,40 +4306,39 @@ snapshots: - supports-color - terser - vite@5.1.1(@types/node@20.11.17): + vite@5.3.2(@types/node@20.14.9): dependencies: - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.10.0 + esbuild: 0.21.5 + postcss: 8.4.39 + rollup: 4.18.0 optionalDependencies: - '@types/node': 20.11.17 + '@types/node': 20.14.9 fsevents: 2.3.3 - vitest@1.2.2(@types/node@20.11.17): + vitest@1.6.0(@types/node@20.14.9): dependencies: - '@vitest/expect': 1.2.2 - '@vitest/runner': 1.2.2 - '@vitest/snapshot': 1.2.2 - '@vitest/spy': 1.2.2 - '@vitest/utils': 1.2.2 - acorn-walk: 8.3.2 - cac: 6.7.14 + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + acorn-walk: 8.3.3 chai: 4.4.1 - debug: 4.3.4 + debug: 4.3.5 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.7 + magic-string: 0.30.10 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 std-env: 3.7.0 - strip-literal: 1.3.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.1(@types/node@20.11.17) - vite-node: 1.2.2(@types/node@20.11.17) + strip-literal: 2.1.0 + tinybench: 2.8.0 + tinypool: 0.8.4 + vite: 5.3.2(@types/node@20.14.9) + vite-node: 1.6.0(@types/node@20.14.9) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.11.17 + '@types/node': 20.14.9 transitivePeerDependencies: - less - lightningcss @@ -4293,10 +4364,10 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-typed-array@1.1.14: + which-typed-array@1.1.15: dependencies: - available-typed-arrays: 1.0.6 - call-bind: 1.0.6 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 @@ -4330,8 +4401,6 @@ snapshots: yallist@3.1.1: {} - yallist@4.0.0: {} - - yaml@2.3.4: {} + yaml@2.4.5: {} - yocto-queue@1.0.0: {} + yocto-queue@1.1.1: {} From 4dafff023a4894b865d1f189d67754f337affe68 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 20:36:13 -0400 Subject: [PATCH 08/18] docs: fix code example formatting --- docs/src/pages/_example_entities.mdx | 29 +++++++------------ docs/src/pages/_example_repositories.mdx | 36 ++++++++++++------------ 2 files changed, 28 insertions(+), 37 deletions(-) diff --git a/docs/src/pages/_example_entities.mdx b/docs/src/pages/_example_entities.mdx index 4329a730..80b46ca9 100644 --- a/docs/src/pages/_example_entities.mdx +++ b/docs/src/pages/_example_entities.mdx @@ -2,32 +2,23 @@ import CodeBlock from "@theme/CodeBlock"; {` // entities/client_entity.ts - -import { - OAuthClient, - OAuthAuthCode, - OAuthUser, - OAuthScope, - GrantIdentifier, - ScopeEntity, - CodeChallengeMethod, -} from "@jmondi/oauth2-server"; +import { OAuthClient, GrantIdentifier } from "@jmondi/oauth2-server"; +import { ScopeEntity } from "./scope_entity"; class ClientEntity implements OAuthClient { -readonly id: string; -name: string; -secret: string | null; -redirectUris: string[]; -allowedGrants: GrantIdentifier[]; -scopes: ScopeEntity[]; -createdAt: Date; -updatedAt: Date | null; + readonly id: string; + name: string; + secret: string | null; + redirectUris: string[]; + allowedGrants: GrantIdentifier[]; + scopes: ScopeEntity[]; + createdAt: Date; + updatedAt: Date | null; } `.trim()} {` // entities/user_entity.ts - import { OAuthUser } from "@jmondi/oauth2-server"; export class User implements OAuthUser { diff --git a/docs/src/pages/_example_repositories.mdx b/docs/src/pages/_example_repositories.mdx index cb288baa..216e42a2 100644 --- a/docs/src/pages/_example_repositories.mdx +++ b/docs/src/pages/_example_repositories.mdx @@ -2,32 +2,32 @@ import CodeBlock from "@theme/CodeBlock"; {` // repositories/client_repository.ts - import { PrismaClient } from "@prisma/client"; import { GrantIdentifier, OAuthClient, OAuthClientRepository } from "@jmondi/oauth2-server"; import { Client } from "../entities/client.js"; export class ClientRepository implements OAuthClientRepository { - constructor(private readonly prisma: PrismaClient) {} + constructor(private readonly prisma: PrismaClient) { + } -async getByIdentifier(clientId: string): Promise { -return await this.prisma.oAuthClient.findUniqueOrThrow({ -where: { -id: clientId, -}, -include: { -scopes: true, -}, -}); -} + async getByIdentifier(clientId: string): Promise { + return await this.prisma.oAuthClient.findUniqueOrThrow({ + where: { + id: clientId, + }, + include: { + scopes: true, + }, + }); + } -async isClientValid( -grantType: GrantIdentifier, -client: OAuthClient, -clientSecret?: string, -): Promise { + async isClientValid( + grantType: GrantIdentifier, + client: OAuthClient, + clientSecret?: string, + ): Promise { // implement me (see examples) -} + } } `.trim()} From c5a4d1ce2c0cdf2187d0ecbebc958d1fcba09811 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 20:36:21 -0400 Subject: [PATCH 09/18] docs: add robots.txt --- docs/static/robots.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 docs/static/robots.txt diff --git a/docs/static/robots.txt b/docs/static/robots.txt new file mode 100644 index 00000000..eb053628 --- /dev/null +++ b/docs/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: From 99bee779a32dd76a582133c3d4cda51e46945236 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 22:28:25 -0400 Subject: [PATCH 10/18] docs: improve documentation and homepage --- docs/docs/grants/{index.md => index.mdx} | 43 +----- docs/docusaurus.config.ts | 18 ++- docs/src/components/Contributors/index.tsx | 59 ++++++++ docs/src/components/Sponsors/index.tsx | 84 +++++++++++ .../pages/_example_authorization_server.mdx | 16 ++- docs/src/pages/_which_grant.mdx | 43 ++++++ docs/src/pages/index.tsx | 111 ++++++++++----- docs/static/img/docusaurus-social-card.jpg | Bin 55746 -> 0 bytes docs/static/img/docusaurus.png | Bin 5124 -> 0 bytes docs/static/img/oauth2-server-social-card.jpg | Bin 0 -> 492900 bytes docs/static/img/oauth2-server-social-card.png | Bin 0 -> 262251 bytes docs/static/img/oauth2-server-social-card.svg | 132 ++++++++++++++++++ 12 files changed, 428 insertions(+), 78 deletions(-) rename docs/docs/grants/{index.md => index.mdx} (51%) create mode 100644 docs/src/components/Contributors/index.tsx create mode 100644 docs/src/components/Sponsors/index.tsx create mode 100644 docs/src/pages/_which_grant.mdx delete mode 100644 docs/static/img/docusaurus-social-card.jpg delete mode 100644 docs/static/img/docusaurus.png create mode 100644 docs/static/img/oauth2-server-social-card.jpg create mode 100644 docs/static/img/oauth2-server-social-card.png create mode 100644 docs/static/img/oauth2-server-social-card.svg diff --git a/docs/docs/grants/index.md b/docs/docs/grants/index.mdx similarity index 51% rename from docs/docs/grants/index.md rename to docs/docs/grants/index.mdx index bf6a5abc..65b29560 100644 --- a/docs/docs/grants/index.md +++ b/docs/docs/grants/index.mdx @@ -3,6 +3,8 @@ title: Grants sidebar_position: 3 --- +import WhichGrant from "../../src/pages/_which_grant.mdx"; + # Which Grant? Grants are different ways a [client](../glossary.md#client) can obtain an `access_token` that will authorize @@ -10,46 +12,7 @@ it to use the [resource server](../glossary.md#resource-server). Deciding which grant to use depends on the type of client the end user will be using. -``` -+-------+ -| Start | -+-------+ - V - | - | -+------------------------+ +-----------------------+ -| Have a refresh token? |>----Yes----->| Refresh Token Grant | -+------------------------+ +-----------------------+ - V - | - No - | -+---------------------+ -| Who is the | +--------------------------+ -| Access token owner? |>---A Machine---->| Client Credentials Grant | -+---------------------+ +--------------------------+ - V - | - | - A User - | - | -+----------------------+ -| What type of client? | -+----------------------+ - | - | +---------------------------+ - |>-----------Server App---------->| Auth Code Grant with PKCE | - | +---------------------------+ - | - | +---------------------------+ - |>-------Browser Based App------->| Auth Code Grant with PKCE | - | +---------------------------+ - | - | +---------------------------+ - |>-------Native Mobile App------->| Auth Code Grant with PKCE | - +---------------------------+ -``` + ### Refresh Token Grant diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index e8347008..55fbeb0f 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -7,7 +7,7 @@ const config: Config = { title: "@jmondi/oauth2-server", plugins: [tailwindPlugin], tagline: - "A standards compliant implementation of an OAuth 2.0 authorization server for Nodejs that utilizes JWT and Proof Key for Code Exchange (PKCE), written in TypeScript. ", + "Standards-Compliant OAuth 2.0 Server in TypeScript, Utilizing JWT and Proof Key for Code Exchange (PKCE)", favicon: "img/favicon.ico", url: "https://tsoauth2server.com", baseUrl: "/", @@ -42,7 +42,17 @@ const config: Config = { themeConfig: { // Replace with your project's social card - image: "img/docusaurus-social-card.jpg", + image: "img/oauth2-server-social-card.jpg", + headTags: [ + { + tagName: "script", + attributes: { + "data-domain": "tsoauth2server.com", + src: "https://plausible.io/js/script.js", + defer: "true", + }, + }, + ], navbar: { title: "ts-oauth2-server", logo: { @@ -79,8 +89,8 @@ const config: Config = { ], }, footer: { - style: "light", - copyright: `Copyright © ${new Date().getFullYear()} Jason Raimondi. Built with Docusaurus.`, + style: "dark", + copyright: `© ${new Date().getFullYear()} Jason Raimondi`, }, prism: { theme: prismThemes.github, diff --git a/docs/src/components/Contributors/index.tsx b/docs/src/components/Contributors/index.tsx new file mode 100644 index 00000000..66609719 --- /dev/null +++ b/docs/src/components/Contributors/index.tsx @@ -0,0 +1,59 @@ +import React, { useState, useEffect } from "react"; + +interface Contributor { + login: string; + avatar_url: string; + contributions: number; +} + +interface ContributorsProps { + owner: string; + repo: string; +} + +export function Contributors({ owner, repo }: ContributorsProps) { + const [contributors, setContributors] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchContributors = async () => { + try { + const response = await fetch(`https://api.github.com/repos/${owner}/${repo}/contributors`); + if (!response.ok) { + throw new Error("Failed to fetch contributors"); + } + const data: Contributor[] = await response.json(); + setContributors(data); + setLoading(false); + } catch (err) { + setError(err instanceof Error ? err.message : "An error occurred"); + setLoading(false); + } + }; + + fetchContributors(); + }, [owner, repo]); + + if (loading) return
Loading...
; + if (error) return
Error: {error}
; + + return ( +
    + {contributors.map((contributor) => ( +
  • + + {contributor.login} + +
  • + ))} +
+ ); +}; diff --git a/docs/src/components/Sponsors/index.tsx b/docs/src/components/Sponsors/index.tsx new file mode 100644 index 00000000..864c6b75 --- /dev/null +++ b/docs/src/components/Sponsors/index.tsx @@ -0,0 +1,84 @@ +import React, { useState, useEffect } from "react"; + +interface Sponsor { + username: string; + avatar: string; +} + +interface SponsorsData { + current: Sponsor[] | null; + past: Sponsor[]; +} + +interface SponsorsResponse { + status: string; + sponsors: SponsorsData; +} + +interface SponsorsProps { + username: string; +} + +export function Sponsors({ username }) { + const [sponsors, setSponsors] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + const fetchSponsors = async () => { + try { + const response = await fetch(`https://ghs.vercel.app/v3/sponsors/${username}`); + if (!response.ok) { + throw new Error("Failed to fetch sponsors"); + } + const data: SponsorsResponse = await response.json(); + if (data.status === "success") { + setSponsors(data.sponsors); + } else { + throw new Error("Failed to fetch sponsors"); + } + setLoading(false); + } catch (err) { + setError(err instanceof Error ? err.message : "An error occurred"); + setLoading(false); + } + }; + + fetchSponsors(); + }, [username]); + + if (loading) return
Loading sponsors...
; + if (error) return
Error: {error}
; + if (!sponsors) return
No sponsor data available.
; + + + const all = [ + ...(sponsors.current ? sponsors.current : []), + ...(sponsors.past ? sponsors.past : []), + ]; + + return ( + <> + {all && all.length > 0 ? ( +
    + {all.map((sponsor) => ( +
  • + + {sponsor.username} + +
  • + ))} +
+ ) : ( +

No sponsors.

+ )} + + ); +} diff --git a/docs/src/pages/_example_authorization_server.mdx b/docs/src/pages/_example_authorization_server.mdx index 16104372..8216eb34 100644 --- a/docs/src/pages/_example_authorization_server.mdx +++ b/docs/src/pages/_example_authorization_server.mdx @@ -2,6 +2,20 @@ import CodeBlock from "@theme/CodeBlock"; {` -const foo = "bar"; +// services/authorization_server.ts +const authorizationServer = new AuthorizationServer( + clientRepository, + accessTokenRepository, + scopeRepository, + "secret-key", +); + +authorizationServer.enableGrantType("client_credentials"); +authorizationServer.enableGrantType({ + grant: "authorization_code", + userRepository, + authorizationCodeRepository, +}); +// other grant types you want to enable `.trim()} diff --git a/docs/src/pages/_which_grant.mdx b/docs/src/pages/_which_grant.mdx new file mode 100644 index 00000000..28ed91c1 --- /dev/null +++ b/docs/src/pages/_which_grant.mdx @@ -0,0 +1,43 @@ +import CodeBlock from "@theme/CodeBlock"; + + + {` ++-------+ +| Start | ++-------+ + V + | ++------------------------+ +-----------------------+ +| Have a refresh token? |>----Yes----->| Refresh Token Grant | ++------------------------+ +-----------------------+ + V + | + No + | ++---------------------+ +| Who is the | +--------------------------+ +| Access token owner? |>---A Machine---->| Client Credentials Grant | ++---------------------+ +--------------------------+ + V + | + | + A User + | + | ++----------------------+ +| What type of client? | ++----------------------+ + | + | +---------------------------+ + |>-----------Server App---------->| Auth Code Grant with PKCE | + | +---------------------------+ + | + | +---------------------------+ + |>-------Browser Based App------->| Auth Code Grant with PKCE | + | +---------------------------+ + | + | +---------------------------+ + |>-------Native Mobile App------->| Auth Code Grant with PKCE | + +---------------------------+ +`.trim()} + diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index d605ac22..34495c1b 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -7,7 +7,11 @@ import HowToInstall from "./_index_install.mdx"; import ExampleEntities from "./_example_entities.mdx"; import ExampleRepositories from "./_example_repositories.mdx"; import ExampleAuthorizationServer from "./_example_authorization_server.mdx"; +import WhichGrant from "./_which_grant.mdx"; import MarkdownWrapper from "@site/src/components/MarkdownWrapper"; +import { LinkIcon } from "lucide-react"; +import { Contributors } from "@site/src/components/Contributors"; +import { Sponsors } from "@site/src/components/Sponsors"; export function GithubLogo() { return ( @@ -35,16 +39,14 @@ export function NPMLogo() { xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" + className="fill-current" viewBox="0 0 18 7" > - - - + + + @@ -56,20 +58,30 @@ export function JSRLogo() { - - - - - - + ); } +function HeroButton({ href, children }) { + return ( + + {children} + + ); +} + export default function Home() { const { siteConfig } = useDocusaurusContext(); return ( @@ -77,7 +89,7 @@ export default function Home() { title={`@jmondi/oauth2-server`} description="Description will go into a meta tag in " > -
+
@@ -91,31 +103,48 @@ export default function Home() {
-

{siteConfig.tagline}

+

{siteConfig.tagline}

+ +
+ Get Started +
-
- - - - - - - - - + -
+
+

Install

+
-

Quick Example

+

Entities and Repositories

@@ -125,10 +154,26 @@ export default function Home() {
-

Authorization Server

+

The Authorization Server

+ +
+

Which Grant?

+ +
+ +
+

Contributors

+
+ +
+

Sponsors

+
+ +
+
); diff --git a/docs/static/img/docusaurus-social-card.jpg b/docs/static/img/docusaurus-social-card.jpg deleted file mode 100644 index ffcb448210e1a456cb3588ae8b396a597501f187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55746 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 fgzs%Vr*-jYG(YMS<ttdtee# diff --git a/docs/static/img/docusaurus.png b/docs/static/img/docusaurus.png deleted file mode 100644 index 1663fe688692ef70ebff18ee9bc07e0a308412ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5124 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�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 z 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
`3Buak3c;tg+ITdZFu)cQN=ZC(R;W^%==+e8T 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

g+T6i)-e54!9=W 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 Lujh7z7mxlIU;Z!s literal 0 HcmV?d00001 diff --git a/docs/static/img/oauth2-server-social-card.png b/docs/static/img/oauth2-server-social-card.png new file mode 100644 index 0000000000000000000000000000000000000000..f6cde0ab2bb858a3ca0431cc45b8e51e2906e8aa GIT binary patch literal 262251 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%0DGf_Mu#Hm)00$ge;Cr^16Xc7)5LgD<>>0Q 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

50&!lyzH-O96e>bTE}s1J7wh9j5 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/oauth2-server-social-card.svg b/docs/static/img/oauth2-server-social-card.svg new file mode 100644 index 00000000..f37edb68 --- /dev/null +++ b/docs/static/img/oauth2-server-social-card.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From cc6d0f40481eaa34e6397593bc01d409506e1719 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 22:31:18 -0400 Subject: [PATCH 11/18] docs: fix tagline --- docs/src/pages/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 34495c1b..bb178416 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -87,7 +87,7 @@ export default function Home() { return (

From 0fafb02123e6b0ca26c145f4c2c5e8ee32513eb2 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 22:42:45 -0400 Subject: [PATCH 12/18] docs: fix plausible analytics script --- docs/docusaurus.config.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 55fbeb0f..a55a4782 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -17,6 +17,7 @@ const config: Config = { defaultLocale: "en", locales: ["en"], }, + scripts: [{ src: "https://plausible.io/js/script.js", defer: true, "data-domain": "tsoauth2server.com" }], presets: [ [ "classic", @@ -43,16 +44,6 @@ const config: Config = { themeConfig: { // Replace with your project's social card image: "img/oauth2-server-social-card.jpg", - headTags: [ - { - tagName: "script", - attributes: { - "data-domain": "tsoauth2server.com", - src: "https://plausible.io/js/script.js", - defer: "true", - }, - }, - ], navbar: { title: "ts-oauth2-server", logo: { From 1bedcc4fc19331e33498aadb5929728b57c6ba59 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 23:08:29 -0400 Subject: [PATCH 13/18] docs: add rfcs and grants to homepage --- docs/docs/grants/index.mdx | 20 ++++++++------- docs/src/pages/_callouts.mdx | 0 docs/src/pages/index.tsx | 43 +++++++++++++++++++++++++++++--- docs/src/pages/markdown-page.mdx | 24 ------------------ 4 files changed, 50 insertions(+), 37 deletions(-) create mode 100644 docs/src/pages/_callouts.mdx delete mode 100644 docs/src/pages/markdown-page.mdx diff --git a/docs/docs/grants/index.mdx b/docs/docs/grants/index.mdx index 65b29560..ca63ada9 100644 --- a/docs/docs/grants/index.mdx +++ b/docs/docs/grants/index.mdx @@ -5,23 +5,25 @@ sidebar_position: 3 import WhichGrant from "../../src/pages/_which_grant.mdx"; -# Which Grant? +# Grants -Grants are different ways a [client](../glossary.md#client) can obtain an `access_token` that will authorize -it to use the [resource server](../glossary.md#resource-server). +### Client Credentials Grant -Deciding which grant to use depends on the type of client the end user will be using. +If the access token owner is a machine, such as a server or an application acting on its own behalf, rather than an individual user, the client can use the Client Credentials Grant. This grant is designed for scenarios where the client needs to access resources autonomously without the context of a specific user. - +### Auth Code Grant with PKCE + +If the access token owner is a user, the recommended grant is the Authorization Code Grant with Proof Key for Code Exchange (PKCE). This grant involves a series of steps where the client redirects the user to the authorization server, the user grants access, and the server provides an authorization code that the client exchanges for an access token. PKCE adds an extra layer of security to protect against authorization code interception attacks. ### Refresh Token Grant If the client already has a refresh token, it can use the Refresh Token Grant to obtain a new access token without requiring the user's interaction. This grant is useful for long-lived sessions and background processes. -### Client Credentials Grant +## Which Grant? -If the access token owner is a machine, such as a server or an application acting on its own behalf, rather than an individual user, the client can use the Client Credentials Grant. This grant is designed for scenarios where the client needs to access resources autonomously without the context of a specific user. +Grants are different ways a [client](../glossary.md#client) can obtain an `access_token` that will authorize +it to use the [resource server](../glossary.md#resource-server). -### Auth Code Grant with PKCE +Deciding which grant to use depends on the type of client the end user will be using. -If the access token owner is a user, the recommended grant is the Authorization Code Grant with Proof Key for Code Exchange (PKCE). This grant involves a series of steps where the client redirects the user to the authorization server, the user grants access, and the server provides an authorization code that the client exchanges for an access token. PKCE adds an extra layer of security to protect against authorization code interception attacks. + diff --git a/docs/src/pages/_callouts.mdx b/docs/src/pages/_callouts.mdx new file mode 100644 index 00000000..e69de29b diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index bb178416..57561151 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -8,6 +8,7 @@ import ExampleEntities from "./_example_entities.mdx"; import ExampleRepositories from "./_example_repositories.mdx"; import ExampleAuthorizationServer from "./_example_authorization_server.mdx"; import WhichGrant from "./_which_grant.mdx"; +import Callouts from "./_callouts.mdx"; import MarkdownWrapper from "@site/src/components/MarkdownWrapper"; import { LinkIcon } from "lucide-react"; import { Contributors } from "@site/src/components/Contributors"; @@ -42,7 +43,8 @@ export function NPMLogo() { className="fill-current" viewBox="0 0 18 7" > - +
+ + +
-

Entities and Repositories

+

Entities and Repositories

@@ -154,13 +187,15 @@ export default function Home() {
-

The Authorization Server

+

The Authorization Server

-

Which Grant?

+

Which Grant?

diff --git a/docs/src/pages/markdown-page.mdx b/docs/src/pages/markdown-page.mdx deleted file mode 100644 index 5b5c5908..00000000 --- a/docs/src/pages/markdown-page.mdx +++ /dev/null @@ -1,24 +0,0 @@ -# TypeScript OAuth2.0 Server - -[🇺🇦 Support Ukraine 🇺🇦](https://war.ukraine.ua/support-ukraine/) - -`@jmondi/oauth2-server` is a standards compliant implementation of an OAuth 2.0 authorization server for Node, written in TypeScript. - -Requires `node >= 18` - -Out of the box it supports the following grants: - -- [Authorization code grant](https://tsoauth2server.com/grants/authorization_code.html) -- [Client credentials grant](https://tsoauth2server.com/grants/client_credentials.html) -- [Refresh grant](https://tsoauth2server.com/grants/refresh_token.html) -- [Implicit grant](https://tsoauth2server.com/grants/implicit.html) // not recommended -- [Resource owner password credentials grant](https://tsoauth2server.com/grants/password.html) // not recommended - -The following RFCs are implemented: - -- [RFC6749 "OAuth 2.0"](https://tools.ietf.org/html/rfc6749) -- [RFC6750 "The OAuth 2.0 Authorization Framework: Bearer Token Usage"](https://tools.ietf.org/html/rfc6750) -- [RFC7009 "OAuth 2.0 Token Revocation"](https://tools.ietf.org/html/rfc7009) -- [RFC7519 "JSON Web Token (JWT)"](https://tools.ietf.org/html/rfc7519) -- [RFC7636 "Proof Key for Code Exchange by OAuth Public Clients"](https://tools.ietf.org/html/rfc7636) -- [RFC8693 "OAuth 2.0 Token Exchange"](https://datatracker.ietf.org/doc/html/rfc8693) From ee40d5778c6351628a2930d4ef09ba5aa73cf1d1 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 23:08:47 -0400 Subject: [PATCH 14/18] docs: remove junk --- docs/src/pages/_callouts.mdx | 0 docs/src/pages/index.tsx | 1 - 2 files changed, 1 deletion(-) delete mode 100644 docs/src/pages/_callouts.mdx diff --git a/docs/src/pages/_callouts.mdx b/docs/src/pages/_callouts.mdx deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 57561151..41771e90 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -8,7 +8,6 @@ import ExampleEntities from "./_example_entities.mdx"; import ExampleRepositories from "./_example_repositories.mdx"; import ExampleAuthorizationServer from "./_example_authorization_server.mdx"; import WhichGrant from "./_which_grant.mdx"; -import Callouts from "./_callouts.mdx"; import MarkdownWrapper from "@site/src/components/MarkdownWrapper"; import { LinkIcon } from "lucide-react"; import { Contributors } from "@site/src/components/Contributors"; From e200ff42ac02bd49f8cd0cd90a9af7df9f5aa599 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 23:11:49 -0400 Subject: [PATCH 15/18] drop: .github/dependabot.yml --- .github/dependabot.yml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 7c168f3b..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,18 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "npm" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "monthly" - target-branch: "main" - - - package-ecosystem: "npm" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "monthly" - target-branch: "2.x" From 800d0c27a28c2a750c8c85d5fb2915be11c5755a Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Tue, 2 Jul 2024 23:13:35 -0400 Subject: [PATCH 16/18] chore: bump deps --- docs/pnpm-lock.yaml | 8 +- example/package.json | 22 +- example/pnpm-lock.yaml | 1593 ++++++++++++++++++++-------------------- pnpm-lock.yaml | 18 +- 4 files changed, 839 insertions(+), 802 deletions(-) diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 8520c026..67f363f3 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -4479,8 +4479,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.0.16: - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -7074,7 +7074,7 @@ snapshots: caniuse-lite: 1.0.30001639 electron-to-chromium: 1.4.816 node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) + update-browserslist-db: 1.1.0(browserslist@4.23.1) buffer-from@1.1.2: {} @@ -10437,7 +10437,7 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.0.16(browserslist@4.23.1): + update-browserslist-db@1.1.0(browserslist@4.23.1): dependencies: browserslist: 4.23.1 escalade: 3.1.2 diff --git a/example/package.json b/example/package.json index f3453811..b66335bb 100644 --- a/example/package.json +++ b/example/package.json @@ -10,20 +10,20 @@ "node": ">=16" }, "devDependencies": { - "@types/bcryptjs": "^2.4.2", - "@types/body-parser": "^1.19.2", - "@types/express": "^4.17.17", - "@types/node": "^20.2.5", - "prisma": "^4.15.0", - "tsx": "^3.12.7", - "typescript": "^5.1.3" + "@types/bcryptjs": "^2.4.6", + "@types/body-parser": "^1.19.5", + "@types/express": "^4.17.21", + "@types/node": "^20.14.9", + "prisma": "^5.16.1", + "tsx": "^4.16.0", + "typescript": "^5.5.3" }, "dependencies": { - "@jmondi/oauth2-server": "3.0.1", - "@prisma/client": "^4.15.0", + "@jmondi/oauth2-server": "3.3.0", + "@prisma/client": "^5.16.1", "bcryptjs": "^2.4.3", "body-parser": "^1.20.2", - "dotenv": "^16.1.4", - "express": "^4.18.2" + "dotenv": "^16.4.5", + "express": "^4.19.2" } } diff --git a/example/pnpm-lock.yaml b/example/pnpm-lock.yaml index 8fb5249f..0a1da267 100644 --- a/example/pnpm-lock.yaml +++ b/example/pnpm-lock.yaml @@ -1,1087 +1,1124 @@ -lockfileVersion: '6.0' - -dependencies: - '@jmondi/oauth2-server': - specifier: 3.0.1 - version: 3.0.1 - '@prisma/client': - specifier: ^4.15.0 - version: 4.15.0(prisma@4.15.0) - bcryptjs: - specifier: ^2.4.3 - version: 2.4.3 - body-parser: - specifier: ^1.20.2 - version: 1.20.2 - dotenv: - specifier: ^16.1.4 - version: 16.1.4 - express: - specifier: ^4.18.2 - version: 4.18.2 - -devDependencies: - '@types/bcryptjs': - specifier: ^2.4.2 - version: 2.4.2 - '@types/body-parser': - specifier: ^1.19.2 - version: 1.19.2 - '@types/express': - specifier: ^4.17.17 - version: 4.17.17 - '@types/node': - specifier: ^20.2.5 - version: 20.2.5 - prisma: - specifier: ^4.15.0 - version: 4.15.0 - tsx: - specifier: ^3.12.7 - version: 3.12.7 - typescript: - specifier: ^5.1.3 - version: 5.1.3 +lockfileVersion: '9.0' -packages: +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false - /@esbuild-kit/cjs-loader@2.4.2: - resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} - dependencies: - '@esbuild-kit/core-utils': 3.1.0 - get-tsconfig: 4.6.0 - dev: true +importers: - /@esbuild-kit/core-utils@3.1.0: - resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} + .: dependencies: - esbuild: 0.17.19 - source-map-support: 0.5.21 - dev: true + '@jmondi/oauth2-server': + specifier: 3.3.0 + version: 3.3.0 + '@prisma/client': + specifier: ^5.16.1 + version: 5.16.1(prisma@5.16.1) + bcryptjs: + specifier: ^2.4.3 + version: 2.4.3 + body-parser: + specifier: ^1.20.2 + version: 1.20.2 + dotenv: + specifier: ^16.4.5 + version: 16.4.5 + express: + specifier: ^4.19.2 + version: 4.19.2 + devDependencies: + '@types/bcryptjs': + specifier: ^2.4.6 + version: 2.4.6 + '@types/body-parser': + specifier: ^1.19.5 + version: 1.19.5 + '@types/express': + specifier: ^4.17.21 + version: 4.17.21 + '@types/node': + specifier: ^20.14.9 + version: 20.14.9 + prisma: + specifier: ^5.16.1 + version: 5.16.1 + tsx: + specifier: ^4.16.0 + version: 4.16.0 + typescript: + specifier: ^5.5.3 + version: 5.5.3 - /@esbuild-kit/esm-loader@2.5.5: - resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} - dependencies: - '@esbuild-kit/core-utils': 3.1.0 - get-tsconfig: 4.6.0 - dev: true +packages: - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@jmondi/oauth2-server@3.0.1: - resolution: {integrity: sha512-HHXPvvS9LFJnWGODGpknvn8LPTlxNDGW1bAar2Gjtcr81BcM0+YkUsBjjkM2vmxMtrXBDnMaxl8mcESOvnHsiA==} + '@jmondi/oauth2-server@3.3.0': + resolution: {integrity: sha512-2d7XrmL2Zy+HGHMpoBBSx12a7qL04/1crRBTk77xUNYgX8zwnJ1hd9GDc+/KfS8bD9X00J69MW1hzeX67naW5g==} engines: {node: '>=16'} - dependencies: - '@swc/core': 1.3.62 - jsonwebtoken: 9.0.0 - ms: 2.1.3 - uri-js: 4.4.1 - transitivePeerDependencies: - - '@swc/helpers' - dev: false - /@prisma/client@4.15.0(prisma@4.15.0): - resolution: {integrity: sha512-xnROvyABcGiwqRNdrObHVZkD9EjkJYHOmVdlKy1yGgI+XOzvMzJ4tRg3dz1pUlsyhKxXGCnjIQjWW+2ur+YXuw==} - engines: {node: '>=14.17'} - requiresBuild: true + '@prisma/client@5.16.1': + resolution: {integrity: sha512-wM9SKQjF0qLxdnOZIVAIMKiz6Hu7vDt4FFAih85K1dk/Rr2mdahy6d3QP41K62N9O0DJJA//gUDA3Mp49xsKIg==} + engines: {node: '>=16.13'} peerDependencies: prisma: '*' peerDependenciesMeta: prisma: optional: true - dependencies: - '@prisma/engines-version': 4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944 - prisma: 4.15.0 - dev: false - /@prisma/engines-version@4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944: - resolution: {integrity: sha512-sVOig4tjGxxlYaFcXgE71f/rtFhzyYrfyfNFUsxCIEJyVKU9rdOWIlIwQ2NQ7PntvGnn+x0XuFo4OC1jvPJKzg==} - dev: false + '@prisma/debug@5.16.1': + resolution: {integrity: sha512-JsNgZAg6BD9RInLSrg7ZYzo11N7cVvYArq3fHGSD89HSgtN0VDdjV6bib7YddbcO6snzjchTiLfjeTqBjtArVQ==} - /@prisma/engines@4.15.0: - resolution: {integrity: sha512-FTaOCGs0LL0OW68juZlGxFtYviZa4xdQj/rQEdat2txw0s3Vu/saAPKjNVXfIgUsGXmQ72HPgNr6935/P8FNAA==} - requiresBuild: true + '@prisma/engines-version@5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303': + resolution: {integrity: sha512-HkT2WbfmFZ9WUPyuJHhkiADxazHg8Y4gByrTSVeb3OikP6tjQ7txtSUGu9OBOBH0C13dPKN2qqH12xKtHu/Hiw==} - /@swc/core-darwin-arm64@1.3.62: - resolution: {integrity: sha512-MmGilibITz68LEje6vJlKzc2gUUSgzvB3wGLSjEORikTNeM7P8jXVxE4A8fgZqDeudJUm9HVWrxCV+pHDSwXhA==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true + '@prisma/engines@5.16.1': + resolution: {integrity: sha512-KkyF3eIUtBIyp5A/rJHCtwQO18OjpGgx18PzjyGcJDY/+vNgaVyuVd+TgwBgeq6NLdd1XMwRCI+58vinHsAdfA==} - /@swc/core-darwin-x64@1.3.62: - resolution: {integrity: sha512-Xl93MMB3sCWVlYWuQIB+v6EQgzoiuQYK5tNt9lsHoIEVu2zLdkQjae+5FUHZb1VYqCXIiWcULFfVz0R4Sjb7JQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true + '@prisma/fetch-engine@5.16.1': + resolution: {integrity: sha512-oOkjaPU1lhcA/Rvr4GVfd1NLJBwExgNBE36Ueq7dr71kTMwy++a3U3oLd2ZwrV9dj9xoP6LjCcky799D9nEt4w==} - /@swc/core-linux-arm-gnueabihf@1.3.62: - resolution: {integrity: sha512-nJsp6O7kCtAjTTMcIjVB0g5y1JNiYAa5q630eiwrnaHUusEFoANDdORI3Z9vXeikMkng+6yIv9/V8Rb093xLjQ==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true + '@prisma/get-platform@5.16.1': + resolution: {integrity: sha512-R4IKnWnMkR2nUAbU5gjrPehdQYUUd7RENFD2/D+xXTNhcqczp0N+WEGQ3ViyI3+6mtVcjjNIMdnUTNyu3GxIgA==} - /@swc/core-linux-arm64-gnu@1.3.62: - resolution: {integrity: sha512-XGsV93vpUAopDt5y6vPwbK1Nc/MlL55L77bAZUPIiosWD1cWWPHNtNSpriE6+I+JiMHe0pqtfS/SSTk6ZkFQVw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true + '@types/bcryptjs@2.4.6': + resolution: {integrity: sha512-9xlo6R2qDs5uixm0bcIqCeMCE6HiQsIyel9KQySStiyqNl2tnj2mP3DX1Nf56MD6KMenNNlBBsy3LJ7gUEQPXQ==} - /@swc/core-linux-arm64-musl@1.3.62: - resolution: {integrity: sha512-ESUmJjSlTTkoBy9dMG49opcNn8BmviqStMhwyeD1G8XRnmRVCZZgoBOKdvCXmJhw8bQXDhZumeaTUB+OFUKVXg==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} - /@swc/core-linux-x64-gnu@1.3.62: - resolution: {integrity: sha512-wnHJkt3ZBrax3SFnUHDcncG6mrSg9ZZjMhQV9Mc3JL1x1s1Gy9rGZCoBNnV/BUZWTemxIBcQbANRSDut/WO+9A==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - /@swc/core-linux-x64-musl@1.3.62: - resolution: {integrity: sha512-9oRbuTC/VshB66Rgwi3pTq3sPxSTIb8k9L1vJjES+dDMKa29DAjPtWCXG/pyZ00ufpFZgkGEuAHH5uqUcr1JQg==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true + '@types/express-serve-static-core@4.19.5': + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} - /@swc/core-win32-arm64-msvc@1.3.62: - resolution: {integrity: sha512-zv14vlF2VRrxS061XkfzGjCYnOrEo5glKJjLK5PwUKysIoVrx/L8nAbFxjkX5cObdlyoqo+ekelyBPAO+4bS0w==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} - /@swc/core-win32-ia32-msvc@1.3.62: - resolution: {integrity: sha512-8MC/PZQSsOP2iA/81tAfNRqMWyEqTS/8zKUI67vPuLvpx6NAjRn3E9qBv7iFqH79iqZNzqSMo3awnLrKZyFbcw==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - /@swc/core-win32-x64-msvc@1.3.62: - resolution: {integrity: sha512-GJSmUJ95HKHZXAxiuPUmrcm/S3ivQvEzXhOZaIqYBIwUsm02vFZkClsV7eIKzWjso1t0+I/8MjrnUNaSWqh1rQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - /@swc/core@1.3.62: - resolution: {integrity: sha512-J58hWY+/G8vOr4J6ZH9hLg0lMSijZtqIIf4HofZezGog/pVX6sJyBJ40dZ1ploFkDIlWTWvJyqtpesBKS73gkQ==} - engines: {node: '>=10'} - requiresBuild: true - peerDependencies: - '@swc/helpers': ^0.5.0 - peerDependenciesMeta: - '@swc/helpers': - optional: true - optionalDependencies: - '@swc/core-darwin-arm64': 1.3.62 - '@swc/core-darwin-x64': 1.3.62 - '@swc/core-linux-arm-gnueabihf': 1.3.62 - '@swc/core-linux-arm64-gnu': 1.3.62 - '@swc/core-linux-arm64-musl': 1.3.62 - '@swc/core-linux-x64-gnu': 1.3.62 - '@swc/core-linux-x64-musl': 1.3.62 - '@swc/core-win32-arm64-msvc': 1.3.62 - '@swc/core-win32-ia32-msvc': 1.3.62 - '@swc/core-win32-x64-msvc': 1.3.62 - dev: false - - /@types/bcryptjs@2.4.2: - resolution: {integrity: sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==} - dev: true - - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} - dependencies: - '@types/connect': 3.4.35 - '@types/node': 20.2.5 - dev: true + '@types/node@20.14.9': + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} - dependencies: - '@types/node': 20.2.5 - dev: true + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} - /@types/express-serve-static-core@4.17.35: - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} - dependencies: - '@types/node': 20.2.5 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 - dev: true - - /@types/express@4.17.17: - resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} - dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.1 - dev: true - - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} - dev: true - - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} - dev: true - - /@types/node@20.2.5: - resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==} - dev: true - - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - dev: true - - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - dev: true - - /@types/send@0.17.1: - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} - dependencies: - '@types/mime': 1.3.2 - '@types/node': 20.2.5 - dev: true + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - /@types/serve-static@1.15.1: - resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} - dependencies: - '@types/mime': 3.0.1 - '@types/node': 20.2.5 - dev: true + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} - /accepts@1.3.8: + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + + accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - dev: false - /array-flatten@1.1.1: + array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: false - /bcryptjs@2.4.3: + bcryptjs@2.4.3: resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} - dev: false - - /body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - 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.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /body-parser@1.20.2: + body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - 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.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.2 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /buffer-equal-constant-time@1.0.1: + buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} - dev: false - - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - /bytes@3.1.2: + bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - dev: false - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 - dev: false + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} - /content-disposition@0.5.4: + content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 - dev: false - /content-type@1.0.5: + content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - dev: false - /cookie-signature@1.0.6: + cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: false - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - dev: false - /debug@2.6.9: + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.0.0 - dev: false - /depd@2.0.0: + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dev: false - /destroy@1.2.0: + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: false - /dotenv@16.1.4: - resolution: {integrity: sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==} + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - dev: false - /ecdsa-sig-formatter@1.0.11: + ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - dependencies: - safe-buffer: 5.2.1 - dev: false - /ee-first@1.1.1: + ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: false - /encodeurl@1.0.2: + encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - dev: false - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - dev: true - - /escape-html@1.0.3: + + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: false - /etag@1.8.1: + etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - dev: false - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: false - /finalhandler@1.2.0: + finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /forwarded@0.2.0: + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - dev: false - /fresh@0.5.2: + fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - dev: false - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - dev: true - optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: false + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 - dev: false + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} - /get-tsconfig@4.6.0: - resolution: {integrity: sha512-lgbo68hHTQnFddybKbbs/RDRJnJT5YyGy2kQzVwbq+g67X73i+5MVTval34QxGkOe9X5Ujf1UYpCaphLyltjEg==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} - dev: false - /has-symbols@1.0.3: + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - dev: false - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: false + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} - /http-errors@2.0.0: + http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - /iconv-lite@0.4.24: + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: false - /inherits@2.0.4: + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: false - /ipaddr.js@1.9.1: + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - dev: false - /jsonwebtoken@9.0.0: - resolution: {integrity: sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==} + jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} - dependencies: - jws: 3.2.2 - lodash: 4.17.21 - ms: 2.1.3 - semver: 7.5.4 - dev: false - /jwa@1.4.1: + jwa@1.4.1: resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} - dependencies: - buffer-equal-constant-time: 1.0.1 - ecdsa-sig-formatter: 1.0.11 - safe-buffer: 5.2.1 - dev: false - /jws@3.2.2: + jws@3.2.2: resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} - dependencies: - jwa: 1.4.1 - safe-buffer: 5.2.1 - dev: false - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: false + lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: false + lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + + lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - /media-typer@0.3.0: + lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + + media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - dev: false - /merge-descriptors@1.0.1: + merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: false - /methods@1.1.2: + methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - dev: false - /mime-db@1.52.0: + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: false - /mime-types@2.1.35: + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - /mime@1.6.0: + mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - dev: false - /ms@2.0.0: + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: false - /ms@2.1.3: + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: false - /negotiator@0.6.3: + negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - dev: false - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: false + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} - /on-finished@2.4.1: + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: false - /parseurl@1.3.3: + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - dev: false - /path-to-regexp@0.1.7: + path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: false - /prisma@4.15.0: - resolution: {integrity: sha512-iKZZpobPl48gTcSZVawLMQ3lEy6BnXwtoMj7hluoGFYu2kQ6F9LBuBrUyF95zRVnNo8/3KzLXJXJ5TEnLSJFiA==} - engines: {node: '>=14.17'} + prisma@5.16.1: + resolution: {integrity: sha512-Z1Uqodk44diztImxALgJJfNl2Uisl9xDRvqybMKEBYJLNKNhDfAHf+ZIJbZyYiBhLMbKU9cYGdDVG5IIXEnL2Q==} + engines: {node: '>=16.13'} hasBin: true - requiresBuild: true - dependencies: - '@prisma/engines': 4.15.0 - /proxy-addr@2.0.7: + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - dev: false - /qs@6.11.0: + qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.4 - dev: false - /range-parser@1.2.1: + range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - dev: false - - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: false - /raw-body@2.5.2: + raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: false - /resolve-pkg-maps@1.0.0: + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true - /safe-buffer@5.2.1: + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - /safer-buffer@2.1.2: + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: false - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: false - /send@0.18.0: + send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: false - /serve-static@1.15.0: + serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: false - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 - dev: false + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} - /statuses@2.0.1: + statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - dev: false - /toidentifier@1.0.1: + toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - dev: false - /tsx@3.12.7: - resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==} + tsx@4.16.0: + resolution: {integrity: sha512-MPgN+CuY+4iKxGoJNPv+1pyo5YWZAQ5XfsyobUG+zoKG7IkvCPLZDEyoIb8yLS2FcWci1nlxAqmvPlFWD5AFiQ==} + engines: {node: '>=18.0.0'} hasBin: true - dependencies: - '@esbuild-kit/cjs-loader': 2.4.2 - '@esbuild-kit/core-utils': 3.1.0 - '@esbuild-kit/esm-loader': 2.5.5 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /type-is@1.6.18: + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - /typescript@5.1.3: - resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} + typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} hasBin: true - dev: true - /unpipe@1.0.0: + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - dev: false - /uri-js@4.4.1: + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: false - /utils-merge@1.0.1: + utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - dev: false - /vary@1.1.2: + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - dev: false - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: false +snapshots: -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@jmondi/oauth2-server@3.3.0': + dependencies: + jsonwebtoken: 9.0.2 + ms: 2.1.3 + uri-js: 4.4.1 + + '@prisma/client@5.16.1(prisma@5.16.1)': + optionalDependencies: + prisma: 5.16.1 + + '@prisma/debug@5.16.1': {} + + '@prisma/engines-version@5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303': {} + + '@prisma/engines@5.16.1': + dependencies: + '@prisma/debug': 5.16.1 + '@prisma/engines-version': 5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303 + '@prisma/fetch-engine': 5.16.1 + '@prisma/get-platform': 5.16.1 + + '@prisma/fetch-engine@5.16.1': + dependencies: + '@prisma/debug': 5.16.1 + '@prisma/engines-version': 5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303 + '@prisma/get-platform': 5.16.1 + + '@prisma/get-platform@5.16.1': + dependencies: + '@prisma/debug': 5.16.1 + + '@types/bcryptjs@2.4.6': {} + + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.14.9 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.14.9 + + '@types/express-serve-static-core@4.19.5': + dependencies: + '@types/node': 20.14.9 + '@types/qs': 6.9.15 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.5 + '@types/qs': 6.9.15 + '@types/serve-static': 1.15.7 + + '@types/http-errors@2.0.4': {} + + '@types/mime@1.3.5': {} + + '@types/node@20.14.9': + dependencies: + undici-types: 5.26.5 + + '@types/qs@6.9.15': {} + + '@types/range-parser@1.2.7': {} + + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.14.9 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 20.14.9 + '@types/send': 0.17.4 + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + array-flatten@1.1.1: {} + + bcryptjs@2.4.3: {} + + body-parser@1.20.2: + 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.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + buffer-equal-constant-time@1.0.1: {} + + bytes@3.1.2: {} + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookie-signature@1.0.6: {} + + cookie@0.6.0: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + depd@2.0.0: {} + + destroy@1.2.0: {} + + dotenv@16.4.5: {} + + ecdsa-sig-formatter@1.0.11: + dependencies: + safe-buffer: 5.2.1 + + ee-first@1.1.1: {} + + encodeurl@1.0.2: {} + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escape-html@1.0.3: {} + + etag@1.8.1: {} + + express@4.19.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.2 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.6.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + finalhandler@1.2.0: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + forwarded@0.2.0: {} + + fresh@0.5.2: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-tsconfig@4.7.5: + dependencies: + resolve-pkg-maps: 1.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + inherits@2.0.4: {} + + ipaddr.js@1.9.1: {} + + jsonwebtoken@9.0.2: + dependencies: + jws: 3.2.2 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 7.6.2 + + jwa@1.4.1: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + + jws@3.2.2: + dependencies: + jwa: 1.4.1 + safe-buffer: 5.2.1 + + lodash.includes@4.3.0: {} + + lodash.isboolean@3.0.3: {} + + lodash.isinteger@4.0.4: {} + + lodash.isnumber@3.0.3: {} + + lodash.isplainobject@4.0.6: {} + + lodash.isstring@4.0.1: {} + + lodash.once@4.1.1: {} + + media-typer@0.3.0: {} + + merge-descriptors@1.0.1: {} + + methods@1.1.2: {} + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + negotiator@0.6.3: {} + + object-inspect@1.13.2: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + parseurl@1.3.3: {} + + path-to-regexp@0.1.7: {} + + prisma@5.16.1: + dependencies: + '@prisma/engines': 5.16.1 + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + punycode@2.3.1: {} + + qs@6.11.0: + dependencies: + side-channel: 1.0.6 + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + resolve-pkg-maps@1.0.0: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + semver@7.6.2: {} + + send@0.18.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serve-static@1.15.0: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + 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 + + setprototypeof@1.2.0: {} + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + + statuses@2.0.1: {} + + toidentifier@1.0.1: {} + + tsx@4.16.0: + dependencies: + esbuild: 0.21.5 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typescript@5.5.3: {} + + undici-types@5.26.5: {} + + unpipe@1.0.0: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + utils-merge@1.0.1: {} + + vary@1.1.2: {} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e81725b..b36950d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1589,8 +1589,8 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - pkg-types@1.1.2: - resolution: {integrity: sha512-VEGf1he2DR5yowYRl0XJhWJq5ktm9gYIsH+y8sNJpHlxch7JPDaufgrsl4vYjd9hMUY8QVjoNncKbow9I7exyA==} + pkg-types@1.1.3: + resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} @@ -2039,8 +2039,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.0.16: - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -2735,7 +2735,7 @@ snapshots: caniuse-lite: 1.0.30001639 electron-to-chromium: 1.4.816 node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) + update-browserslist-db: 1.1.0(browserslist@4.23.1) buffer-equal-constant-time@1.0.1: {} @@ -3532,7 +3532,7 @@ snapshots: local-pkg@0.5.0: dependencies: mlly: 1.7.1 - pkg-types: 1.1.2 + pkg-types: 1.1.3 lodash.includes@4.3.0: {} @@ -3619,7 +3619,7 @@ snapshots: dependencies: acorn: 8.12.0 pathe: 1.1.2 - pkg-types: 1.1.2 + pkg-types: 1.1.3 ufo: 1.5.3 ms@2.0.0: {} @@ -3773,7 +3773,7 @@ snapshots: pirates@4.0.6: {} - pkg-types@1.1.2: + pkg-types@1.1.3: dependencies: confbox: 0.1.7 mlly: 1.7.1 @@ -4270,7 +4270,7 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.0.16(browserslist@4.23.1): + update-browserslist-db@1.1.0(browserslist@4.23.1): dependencies: browserslist: 4.23.1 escalade: 3.1.2 From 4b11f82bb6b97bb15cdd1f55ad9c38778c0a5ed1 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Wed, 3 Jul 2024 10:25:51 -0400 Subject: [PATCH 17/18] docs(feat): add algolia search --- docs/docusaurus.config.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index a55a4782..ee21219b 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -17,7 +17,9 @@ const config: Config = { defaultLocale: "en", locales: ["en"], }, - scripts: [{ src: "https://plausible.io/js/script.js", defer: true, "data-domain": "tsoauth2server.com" }], + scripts: [ + { src: "https://plausible.io/js/script.js", defer: true, "data-domain": "tsoauth2server.com" } + ], presets: [ [ "classic", @@ -87,6 +89,11 @@ const config: Config = { theme: prismThemes.github, darkTheme: prismThemes.dracula, }, + algolia: { + appId: 'JP2YS2S0EQ', + apiKey: 'bf2bc45ac2821dba462ee887527c1816', + indexName: 'tsoauth2server', + }, } satisfies Preset.ThemeConfig, }; From 879f43833f2318dee5e8b0b63335bb9b1a179a29 Mon Sep 17 00:00:00 2001 From: Jason Raimondi Date: Wed, 3 Jul 2024 10:48:35 -0400 Subject: [PATCH 18/18] docs: styling --- docs/src/pages/index.tsx | 156 ++++++++++++++++++++++++++++----------- docs/static/img/logo.svg | 2 +- 2 files changed, 115 insertions(+), 43 deletions(-) diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 41771e90..a69dda63 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -9,7 +9,7 @@ import ExampleRepositories from "./_example_repositories.mdx"; import ExampleAuthorizationServer from "./_example_authorization_server.mdx"; import WhichGrant from "./_which_grant.mdx"; import MarkdownWrapper from "@site/src/components/MarkdownWrapper"; -import { LinkIcon } from "lucide-react"; +import { CheckCircleIcon, LinkIcon } from "lucide-react"; import { Contributors } from "@site/src/components/Contributors"; import { Sponsors } from "@site/src/components/Sponsors"; @@ -42,8 +42,7 @@ export function NPMLogo() { className="fill-current" viewBox="0 0 18 7" > - + + + + + + {title} + + + ); +} + +function Features() { + const grants = [ + { + to: "/docs/grants/authorization_code", + title: "Authorization code grant", + }, + { + to: "/docs/grants/client_credentials", + title: "Client credentials grant", + }, + { + to: "/docs/grants/refresh_token", + title: "Refresh grant", + }, + { + to: "/docs/grants/implicit", + title: "Implicit grant (not recommended)", + }, + { + to: "/docs/grants/password", + title: "Resource owner password credentials grant (not recommended)", + }, + ]; + + const rfcs = [ + { + to: "https://tools.ietf.org/html/rfc6749", + title: `RFC6749 "OAuth 2.0"`, + }, + { + to: "https://tools.ietf.org/html/rfc6750", + title: `RFC6750 "The OAuth 2.0 Authorization Framework: Bearer Token Usage`, + }, + { + to: "https://tools.ietf.org/html/rfc7009", + title: `RFC7009 "OAuth 2.0 Token Revocation"`, + }, + { + to: "https://tools.ietf.org/html/rfc7519", + title: `RFC7519 "JSON Web Token (JWT)"`, + }, + { + to: "https://tools.ietf.org/html/rfc7636", + title: `RFC7636 "Proof Key for Code Exchange by OAuth Public Clients"`, + }, + { + to: "https://datatracker.ietf.org/doc/html/rfc8693", + title: `RFC8693 "OAuth 2.0 Token Exchange"`, + }, + ]; + + return ( +
+
+

Supported Grants

+
    + {grants.map(({ to, title }) => { + return ; + })} +
+
+
+

Implemented RFCs

+
    + {rfcs.map(({ to, title }) => { + return ; + })} +
+
+
+ ); +} + export default function Home() { const { siteConfig } = useDocusaurusContext(); return ( - +
@@ -112,34 +197,7 @@ export default function Home() {
- - +
@@ -174,9 +232,15 @@ export default function Home() {
-

Entities and Repositories

+

+ Entities and Repositories{" "} + + + + + + +

@@ -186,15 +250,23 @@ export default function Home() {
-

The Authorization Server

+

+ The Authorization Server{" "} + + + +

-

Which Grant?

+

+ Which Grant?{" "} + + + +

diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg index 4ce55295..66d20c36 100644 --- a/docs/static/img/logo.svg +++ b/docs/static/img/logo.svg @@ -1,4 +1,4 @@ -