From a5469a922308f8e715ad300873de3762eb49d951 Mon Sep 17 00:00:00 2001 From: wassim-k Date: Tue, 10 Sep 2024 09:36:44 +1000 Subject: [PATCH] docs --- .eslintrc.js | 16 + .github/workflows/gh-pages.yml | 56 + docs/.gitignore | 20 + docs/README.md | 41 + docs/babel.config.js | 3 + docs/docs/angular/advanced/_category_.json | 6 + docs/docs/angular/advanced/custom-client.mdx | 35 + docs/docs/angular/advanced/entry-point.mdx | 66 + docs/docs/angular/advanced/link.mdx | 138 + docs/docs/angular/advanced/multi-client.mdx | 97 + docs/docs/angular/advanced/ssr.mdx | 212 + docs/docs/angular/codegen/_category_.json | 6 + docs/docs/angular/codegen/generated-code.mdx | 151 + docs/docs/angular/codegen/intro.mdx | 20 + docs/docs/angular/codegen/near-operation.mdx | 103 + docs/docs/angular/fetching/_category_.json | 6 + docs/docs/angular/fetching/fragments.mdx | 53 + docs/docs/angular/fetching/mutations.mdx | 108 + docs/docs/angular/fetching/queries.mdx | 241 + docs/docs/angular/fetching/subscriptions.mdx | 88 + docs/docs/angular/get-started/_category_.json | 6 + .../angular/get-started/setup-environment.mdx | 162 + .../angular/get-started/setup-graphql.mdx | 255 + docs/docs/angular/index.mdx | 28 + docs/docs/angular/state/_category_.json | 6 + docs/docs/angular/state/action.mdx | 192 + docs/docs/angular/state/effect.mdx | 36 + docs/docs/angular/state/intro.mdx | 14 + docs/docs/angular/state/local-state.mdx | 294 + docs/docs/angular/state/mutation-update.mdx | 107 + .../angular/state/optimistic-response.mdx | 33 + docs/docs/angular/state/refetch-queries.mdx | 38 + docs/docs/angular/state/resolver.mdx | 83 + docs/docs/angular/state/state-slice.mdx | 144 + docs/docs/angular/testing/_category_.json | 6 + docs/docs/angular/testing/index.mdx | 169 + docs/docs/react/get-started.mdx | 105 + docs/docs/react/index.mdx | 16 + docs/docs/react/state/_category_.json | 6 + docs/docs/react/state/action.mdx | 101 + docs/docs/react/state/effect.mdx | 27 + docs/docs/react/state/local-state.mdx | 267 + docs/docs/react/state/mutation-update.mdx | 136 + docs/docs/react/state/optimistic-response.mdx | 33 + docs/docs/react/state/refetch-queries.mdx | 38 + docs/docs/react/state/resolver.mdx | 85 + docs/docs/react/state/state-slice.mdx | 66 + docs/docs/shared/_codegen-tip.mdx | 9 + docs/docs/shared/_event-command.mdx | 5 + docs/docs/shared/_state-features.mdx | 6 + docs/docusaurus.config.js | 100 + docs/package.json | 49 + docs/sidebars.js | 34 + .../src/components/HomepageFeatures/index.tsx | 67 + .../HomepageFeatures/styles.module.css | 11 + docs/src/css/custom.css | 107 + docs/src/pages/index.module.css | 30 + docs/src/pages/index.tsx | 33 + docs/src/pages/markdown-page.md | 7 + docs/static/.nojekyll | 0 docs/static/img/angular.svg | 25 + docs/static/img/docusaurus.png | Bin 0 -> 5142 bytes docs/static/img/favicon.svg | 16 + docs/static/img/logo.svg | 1 + docs/static/img/orbit.png | Bin 0 -> 293722 bytes docs/static/img/react.svg | 9 + .../static/img/undraw_docusaurus_mountain.svg | 171 + docs/static/img/undraw_docusaurus_react.svg | 170 + docs/static/img/undraw_docusaurus_tree.svg | 40 + docs/tsconfig.json | 7 + docs/yarn.lock | 9316 +++++++++++++++++ tsconfig.eslint.json | 3 +- 72 files changed, 14134 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/gh-pages.yml create mode 100644 docs/.gitignore create mode 100644 docs/README.md create mode 100644 docs/babel.config.js create mode 100644 docs/docs/angular/advanced/_category_.json create mode 100644 docs/docs/angular/advanced/custom-client.mdx create mode 100644 docs/docs/angular/advanced/entry-point.mdx create mode 100644 docs/docs/angular/advanced/link.mdx create mode 100644 docs/docs/angular/advanced/multi-client.mdx create mode 100644 docs/docs/angular/advanced/ssr.mdx create mode 100644 docs/docs/angular/codegen/_category_.json create mode 100644 docs/docs/angular/codegen/generated-code.mdx create mode 100644 docs/docs/angular/codegen/intro.mdx create mode 100644 docs/docs/angular/codegen/near-operation.mdx create mode 100644 docs/docs/angular/fetching/_category_.json create mode 100644 docs/docs/angular/fetching/fragments.mdx create mode 100644 docs/docs/angular/fetching/mutations.mdx create mode 100644 docs/docs/angular/fetching/queries.mdx create mode 100644 docs/docs/angular/fetching/subscriptions.mdx create mode 100644 docs/docs/angular/get-started/_category_.json create mode 100644 docs/docs/angular/get-started/setup-environment.mdx create mode 100644 docs/docs/angular/get-started/setup-graphql.mdx create mode 100644 docs/docs/angular/index.mdx create mode 100644 docs/docs/angular/state/_category_.json create mode 100644 docs/docs/angular/state/action.mdx create mode 100644 docs/docs/angular/state/effect.mdx create mode 100644 docs/docs/angular/state/intro.mdx create mode 100644 docs/docs/angular/state/local-state.mdx create mode 100644 docs/docs/angular/state/mutation-update.mdx create mode 100644 docs/docs/angular/state/optimistic-response.mdx create mode 100644 docs/docs/angular/state/refetch-queries.mdx create mode 100644 docs/docs/angular/state/resolver.mdx create mode 100644 docs/docs/angular/state/state-slice.mdx create mode 100644 docs/docs/angular/testing/_category_.json create mode 100644 docs/docs/angular/testing/index.mdx create mode 100644 docs/docs/react/get-started.mdx create mode 100644 docs/docs/react/index.mdx create mode 100644 docs/docs/react/state/_category_.json create mode 100644 docs/docs/react/state/action.mdx create mode 100644 docs/docs/react/state/effect.mdx create mode 100644 docs/docs/react/state/local-state.mdx create mode 100644 docs/docs/react/state/mutation-update.mdx create mode 100644 docs/docs/react/state/optimistic-response.mdx create mode 100644 docs/docs/react/state/refetch-queries.mdx create mode 100644 docs/docs/react/state/resolver.mdx create mode 100644 docs/docs/react/state/state-slice.mdx create mode 100644 docs/docs/shared/_codegen-tip.mdx create mode 100644 docs/docs/shared/_event-command.mdx create mode 100644 docs/docs/shared/_state-features.mdx create mode 100644 docs/docusaurus.config.js create mode 100644 docs/package.json create mode 100644 docs/sidebars.js create mode 100644 docs/src/components/HomepageFeatures/index.tsx create mode 100644 docs/src/components/HomepageFeatures/styles.module.css 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 create mode 100644 docs/src/pages/markdown-page.md create mode 100644 docs/static/.nojekyll create mode 100644 docs/static/img/angular.svg create mode 100644 docs/static/img/docusaurus.png create mode 100644 docs/static/img/favicon.svg create mode 100644 docs/static/img/logo.svg create mode 100644 docs/static/img/orbit.png create mode 100644 docs/static/img/react.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/tsconfig.json create mode 100644 docs/yarn.lock diff --git a/.eslintrc.js b/.eslintrc.js index 3157c0c7..cae41cb8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -69,6 +69,22 @@ module.exports = { '@typescript-eslint/strict-boolean-expressions': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off' } + }, + { + files: [ + 'docs/src/**/*.{ts,tsx}' + ], + env: { + jest: true + }, + rules: { + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-floating-promises': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/require-await': 'off', + '@typescript-eslint/strict-boolean-expressions': 'off' + } } ], rules: { diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 00000000..7230cda9 --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,56 @@ +name: Deploy Docusaurus with GitHub Pages + +on: + push: + branches: ["docs"] + +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: docs + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Install dependencies + run: | + cd docs + yarn install + + - name: Build Docusaurus site + run: | + cd docs + yarn build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: docs/build + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 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/README.md b/docs/README.md new file mode 100644 index 00000000..aaba2fa1 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,41 @@ +# Website + +This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ yarn +``` + +### Local Development + +``` +$ yarn 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 + +``` +$ yarn 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 yarn deploy +``` + +Not using SSH: + +``` +$ GIT_USER= yarn 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/babel.config.js b/docs/babel.config.js new file mode 100644 index 00000000..e00595da --- /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/angular/advanced/_category_.json b/docs/docs/angular/advanced/_category_.json new file mode 100644 index 00000000..d543f94c --- /dev/null +++ b/docs/docs/angular/advanced/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 7, + "label": "Advanced", + "collapsible": true, + "collapsed": false +} diff --git a/docs/docs/angular/advanced/custom-client.mdx b/docs/docs/angular/advanced/custom-client.mdx new file mode 100644 index 00000000..8dd7bc16 --- /dev/null +++ b/docs/docs/angular/advanced/custom-client.mdx @@ -0,0 +1,35 @@ +--- +sidebar_position: 4 +--- + +import Link from '@docusaurus/Link'; +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; + +# Custom ApolloClient + +## Overview +By default, **Apollo Orbit** uses the default `ApolloClient` implementation provided by `@apollo/client/core` library. +But, it is possible in some scenarios that an application needs to provide its own custom implementation of `ApolloClient`. + +This can be achieved by providing a custom `ApolloClientFactory` function to `APOLLO_CLIENT_FACTORY` injection token. + +## Usage +```typescript +// code-add-line +import { ApolloClientFactory } from '@apollo-orbit/angular'; +import { CustomApolloClient } from 'custom-apollo-client'; + +const customApolloClientFactory: ApolloClientFactory = (options: ApolloClientOptions): ApolloClient => { + return new CustomApolloClient(options); +}; + +... + +{ + providers: [ + // code-add-line + { provide: APOLLO_CLIENT_FACTORY, useValue: customApolloClientFactory } + ] +} +``` diff --git a/docs/docs/angular/advanced/entry-point.mdx b/docs/docs/angular/advanced/entry-point.mdx new file mode 100644 index 00000000..3fd5dab6 --- /dev/null +++ b/docs/docs/angular/advanced/entry-point.mdx @@ -0,0 +1,66 @@ +--- +sidebar_position: 5 +--- + +import Link from '@docusaurus/Link'; +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; + +# Library Entry Point + +## Overview +An entry point is the path used to import a library into your application. + +**Apollo Orbit** provides two entry points into the library: + +1. `@apollo-orbit/angular/core`: This is a full-featured **Angular** implementation of `@apollo/client` library. +2. `@apollo-orbit/angular`: Provides the full functionality of `@apollo-orbit/angular/core` **+** all the state management capabilities covered in [State section](../state/intro) + +If, for some reason, you're only interested in the core functionality of **Apollo Orbit** without the added state management capabilities, you can follow the steps below: + +### Using `@apollo-orbit/angular/core` + +#### Update ESLint +Add the following rule to *.eslintrc.js* to ensure the correct import path is used in your application. +```javascript title=".eslintrc.js " +'no-restricted-imports': [ + 'error', + { + paths: [ + { + name: '@apollo/client', + message: 'Please use @apollo/client/core instead.' + }, + // code-add-start + { + name: '@apollo-orbit/angular', + message: 'Please use @apollo-orbit/angular/core instead.' + } + // code-add-end + ] + } +] +``` + +#### Update codegen.ts +Add `importFromCore` config to *codegen.ts* file created in the [environment setup guid](../get-started/setup-environment#create-codegents). + +```typescript title="codegen.ts" +import { CodegenConfig } from '@graphql-codegen/cli'; + +const config: CodegenConfig = { + schema: [ + ... + ], + config: { + // code-add-line + importFromCore: true, + ... + }, + generates: { + ... + } +}; + +export default config; +``` diff --git a/docs/docs/angular/advanced/link.mdx b/docs/docs/angular/advanced/link.mdx new file mode 100644 index 00000000..54626557 --- /dev/null +++ b/docs/docs/angular/advanced/link.mdx @@ -0,0 +1,138 @@ +--- +sidebar_position: 1 +--- + +import Link from '@docusaurus/Link'; +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; + +# Apollo Link + +## Overview +**Apollo Orbit** is compatible with all built-in Apollo Links, with the exception of `HTTP` and `HTTP Batch` links. For these, **Apollo Orbit** provides its own implementation that leverages **Angular**'s `HttpClient`. This allows for the use of **Angular**'s built-in features such as `HttpInterceptor`s, `TransferState`, etc... + +## HTTP Link +`HttpLink` is a terminating link that sends a GraphQL operation to a remote endpoint over HTTP. + +It is registered using `withHttpLink` feature, which provides a `HttpLinkFactory` function that can be used to create an instance of `HttpLink`. + +### Usage +```typescript +import { NgModule, inject } from '@angular/core'; +import { InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; +// code-add-line +import { HttpLinkFactory, withHttpLink } from '@apollo-orbit/angular/http'; + +... + +{ + providers: [ + provideApolloOrbit( + withApolloOptions(() => { + // code-add-start + const httpLinkFactory = inject(HttpLinkFactory); + const httpLink = httpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }); + // code-add-end + + return { + cache: new InMemoryCache(), + // code-add-line + link: httpLink + }; + }), + // code-add-line + withHttpLink() + ) + ] +} +``` + + +## HTTP Batch Link +`BatchHttpLink` is a terminating link that batches an array of individual GraphQL operations into a single HTTP request that's sent to a single GraphQL endpoint. + +It is registered using `withHttpLink` feature, which provides a `BatchHttpLinkFactory` function that can be used to create an instance of `BatchHttpLink`. + +### Usage +```typescript +import { NgModule, inject } from '@angular/core'; +import { InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; +// code-add-line +import { BatchHttpLinkFactory, withBatchHttpLink } from '@apollo-orbit/angular/batch-http'; + +... + +{ + providers: [ + provideApolloOrbit( + withApolloOptions(() => { + // code-add-start + const batchHttpLinkFactory = inject(BatchHttpLinkFactory); + const batchHttpLink = batchHttpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }); + // code-add-end + + return { + cache: new InMemoryCache(), + // code-add-line + link: batchHttpLink + }; + }), + // code-add-line + withBatchHttpLink() + ) + ] +} +``` + +## Automatic Persisted Queries Link (APQ) +This link does not require a specific **Angular** implementation and works as-is with **Apollo Orbit**. + +### Install dependencies + + + + + ```bash + yarn add --dev crypto-hash + ``` + + + + + ```bash + npm install --save-dev crypto-hash + ``` + + + + +### Usage +```typescript +import { NgModule, inject } from '@angular/core'; +import { InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; +import { HttpLinkFactory, withHttpLink } from '@apollo-orbit/angular/http'; +// code-add-start +import { createPersistedQueryLink } from '@apollo/client/link/persisted-queries'; +import { sha256 } from 'crypto-hash'; +// code-add-end + +... + +{ + providers: [ + provideApolloOrbit( + withApolloOptions(() => { + const httpLinkFactory = inject(HttpLinkFactory); + const httpLink = httpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }); + + return { + cache: new InMemoryCache(), + // code-add-line + link: createPersistedQueryLink({ sha256 }).concat(httpLink) + }; + }), + withHttpLink() + ) + ] +} +``` diff --git a/docs/docs/angular/advanced/multi-client.mdx b/docs/docs/angular/advanced/multi-client.mdx new file mode 100644 index 00000000..43cc25fe --- /dev/null +++ b/docs/docs/angular/advanced/multi-client.mdx @@ -0,0 +1,97 @@ +--- +sidebar_position: 3 +--- + +import Link from '@docusaurus/Link'; +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; + +# Multi-client + +## Overview +**Apollo Orbit** supports having multiple clients in the same **Angular** application. This is useful when you need to connect to multiple GraphQL APIs. + +This is accomplished using `provideApolloInstance` function. It accepts two parameters, the first is the injection token to be used for the client, and the second is the client's options. + +## Setup + +Let's assume for this example that the frontend needs to communicate with 2 GraphQL APIs: +1. A standard backend for frontend API +2. A billing API + +### Step 1: Create new client token +This token will be used to inject the **billing** client into the application. + +```typescript title="app/graphql/apollo-billing.ts" +import { Apollo } from '@apollo-orbit/angular'; + +export class ApolloBilling extends Apollo { + public static readonly id = 'billing'; +} +``` + +### Step 2: Update app providers + +```typescript +// code-add-start +import { ApolloBilling } from './apollo-billing'; +import { provideApolloInstance, ... } from '@apollo-orbit/angular'; +// code-add-end + +{ + providers: [ + provideApolloOrbit( + withApolloOptions(() => ({ + cache: new InMemoryCache(), + link: inject(HttpLinkFactory).create({ uri: 'http://api.backend.dev/graphql' }) + })), + withHttpLink() + ), + // code-add-start + provideApolloInstance(ApolloBilling, () => ({ + cache: new InMemoryCache(), + id: ApolloBilling.id, + link: inject(HttpLinkFactory).create({ uri: 'http://api.billing.dev/graphql' }) + })) + // code-add-end + ] +} +``` + +:::note +It is required to provide a unique `id` for each client. This `id` is used for associating the client with a state definition. +::: + +### Step 3: Use the client +Now, the client can be injected just like any other Angular service. + +```typescript +import { ApolloBilling } from 'app/graphql/apollo-billing'; + +@Component({ + selector: 'app-billing', + templateUrl: './billing.component.html', + styleUrls: ['./billing.component.css'] +}) +export class BillingComponent { + protected readonly invoicesQuery = this.apolloBilling.watchQuery(new InvoicesQuery()); + + public constructor( + private readonly apolloBilling: ApolloBilling + ) { } +} +``` + +### Step 4: Defining state for the client (Optional) +This is accomplished using `clientId` function available on the `state` descriptor. + +```typescript title="app/billing/states/invoice.state.ts" +// code-add-line +import { ApolloBilling } from 'app/graphql/apollo-billing'; + +export const invoiceState = state(descriptor => descriptor + // code-add-line + .clientId(ApolloBilling.id) + ... +); +``` diff --git a/docs/docs/angular/advanced/ssr.mdx b/docs/docs/angular/advanced/ssr.mdx new file mode 100644 index 00000000..8fce75f6 --- /dev/null +++ b/docs/docs/angular/advanced/ssr.mdx @@ -0,0 +1,212 @@ +--- +sidebar_position: 2 +--- + +import Link from '@docusaurus/Link'; +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; + +# Server-side Rendering + +## Prerequisites +An Angular project with server-side rendering enabled. + +## Overview +**Apollo Orbit** supports server-side rendering in two ways: +1. It uses **Angular**'s `HttpClient` under the hood which automatically supports server-side rendering as explained here. +2. It uses **Angular**'s `TransferState` to transfer **Apollo Client**'s cache from server to client. + +## Setup + +Setup SSR based on your angular project's style. + + + + + ### Update appConfig + ```typescript title="app/app.config.ts" + import { ApplicationConfig } from '@angular/core'; + import { provideRouter } from '@angular/router'; + import { routes } from './app.routes'; + import { provideGraphQL } from './graphql/graphql.provider'; + // code-add-start + import { provideHttpClient, withFetch } from '@angular/common/http'; + import { provideClientHydration, withHttpTransferCacheOptions } from '@angular/platform-browser'; + // code-add-end + + export const appConfig: ApplicationConfig = { + providers: [ + provideRouter(routes), + provideGraphQL() + // code-add-start + provideHttpClient(withFetch()), + provideClientHydration(withHttpTransferCacheOptions({ + includePostRequests: true + })) + // code-add-end + ] + }; + ``` + + Passing `includePostRequests` to `withHttpTransferCacheOptions` is required for default GraphQL setup where **POST** requests are used. + + ### Update provideGraphQL + ```typescript title="app/graphql/graphql.provider.ts" + import { isPlatformBrowser } from '@angular/common'; + import { ENVIRONMENT_INITIALIZER, EnvironmentProviders, PLATFORM_ID, TransferState, inject, makeEnvironmentProviders, makeStateKey } from '@angular/core'; + import { Apollo, InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; + import { HttpLinkFactory, withHttpLink } from '@apollo-orbit/angular/http'; + import { NormalizedCacheObject } from '@apollo/client/core'; + + // code-add-line + const APOLLO_STATE_KEY = makeStateKey('APOLLO_STATE'); + + export function provideGraphQL(): EnvironmentProviders { + return makeEnvironmentProviders([ + provideApolloOrbit( + withApolloOptions(() => { + const httpLinkFactory = inject(HttpLinkFactory); + const httpLink = httpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }); + // code-add-start + const platformId = inject(PLATFORM_ID); + + const ssrOptions = isPlatformBrowser(platformId) + ? { ssrForceFetchDelay: 200 } + : { ssrMode: true }; + // code-add-end + + return { + link: httpLink, + cache: new InMemoryCache(), + // code-add-line + ...ssrOptions + }; + }), + withHttpLink() + ), + // code-add-start + { + provide: ENVIRONMENT_INITIALIZER, + multi: true, + useFactory: () => () => { + const apollo = inject(Apollo); + const transferState = inject(TransferState); + const platformId = inject(PLATFORM_ID); + + if (isPlatformBrowser(platformId)) { + const state = transferState.get(APOLLO_STATE_KEY, undefined); + apollo.cache.restore(state); + } else { + transferState.onSerialize(APOLLO_STATE_KEY, () => apollo.cache.extract()); + } + } + } + // code-add-end + ]); + } + + ``` + + + + + ### Update AppModule + ```typescript title="app/app.module.ts" + // code-add-start + import { provideHttpClient, withFetch } from '@angular/common/http'; + import { provideClientHydration, withHttpTransferCacheOptions } from '@angular/platform-browser'; + // code-add-end + + @NgModule({ + ... + providers: [ + // code-add-start + provideHttpClient(withFetch()), + provideClientHydration(withHttpTransferCacheOptions({ + includePostRequests: true + })) + // code-add-end + ] + }) + export class AppModule { } + ``` + + Passing `includePostRequests` to `withHttpTransferCacheOptions` is required for default GraphQL setup where **POST** requests are used. + + ### Update GraphQLModule + + ```typescript title="app/graphql/graphql.module.ts" + import { isPlatformBrowser } from '@angular/common'; + import { Inject, NgModule, PLATFORM_ID, TransferState, inject, makeStateKey } from '@angular/core'; + import { Apollo, InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; + import { HttpLinkFactory, withHttpLink } from '@apollo-orbit/angular/http'; + import { NormalizedCacheObject } from '@apollo/client/core'; + + // code-add-line + const APOLLO_STATE_KEY = makeStateKey('APOLLO_STATE'); + + @NgModule({ + providers: [ + provideApolloOrbit( + withApolloOptions(() => { + const httpLinkFactory = inject(HttpLinkFactory); + const httpLink = httpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }); + // code-add-start + const platformId = inject(PLATFORM_ID); + + const ssrOptions = isPlatformBrowser(platformId) + ? { ssrForceFetchDelay: 200 } + : { ssrMode: true }; + // code-add-end + + return { + link: httpLink, + cache: new InMemoryCache(), + // code-add-line + ...ssrOptions + }; + }), + withHttpLink() + ) + ] + }) + export class GraphQLModule { + // code-add-start + public constructor( + apollo: Apollo, + transferState: TransferState, + @Inject(PLATFORM_ID) platformId: { [key: string]: any } + ) { + if (isPlatformBrowser(platformId)) { + const state = transferState.get(APOLLO_STATE_KEY, undefined); + apollo.cache.restore(state); + } else { + transferState.onSerialize(APOLLO_STATE_KEY, () => apollo.cache.extract()); + } + } + // code-add-end + } + ``` + + + + + +### Update main.server.ts +**Apollo Client** sets a 10s timer which outputs a message for installing Apollo Client Devtools extension in the browser's console. This timer can cause issues with server-side rendering, as it prevents the application from stabilising and causes delays in responding to user events on the page. +To prevent this issue, set the `__DEV__` global variable to `false` in `main.server.ts` file, which instructs **Apollo Client** that the application is not running in development mode and thus the message is not queued. + +```typescript title="src/main.server.ts" +import { bootstrapApplication } from '@angular/platform-browser'; +import { AppComponent } from './app/app.component'; +import { config } from './app/app.config.server'; + +// code-add-start +// Required for SSR to stabilise because of ApolloClient setting a 10s timeout for suggesting devtools in the console. +(globalThis as any).__DEV__ = false; +// code-add-end + +const bootstrap = () => bootstrapApplication(AppComponent, config); + +export default bootstrap; +``` diff --git a/docs/docs/angular/codegen/_category_.json b/docs/docs/angular/codegen/_category_.json new file mode 100644 index 00000000..d80c3b79 --- /dev/null +++ b/docs/docs/angular/codegen/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 5, + "label": "Codegen", + "collapsible": true, + "collapsed": false +} diff --git a/docs/docs/angular/codegen/generated-code.mdx b/docs/docs/angular/codegen/generated-code.mdx new file mode 100644 index 00000000..eb689473 --- /dev/null +++ b/docs/docs/angular/codegen/generated-code.mdx @@ -0,0 +1,151 @@ +--- +sidebar_position: 2 +--- + +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; + +# Generated Code +Let's examine the code generated by the following GraphQL operations: + + + + ```graphql title="book.graphql" + fragment BookFragment on Book { + id + name + genre + authorId + } + + query Books($name: String, $genre: String, $authorId: ID) { + books(name: $name, genre: $genre, authorId: $authorId) { + ...BookFragment + } + } + + mutation UpdateBook($id: ID!, $book: BookInput!) { + updateBook(id: $id, book: $book) { + ...BookFragment + } + } + ``` + + + ```typescript title="types.ts" + /* eslint-disable */ + import { gql } from '@apollo-orbit/angular'; + import { Context, MutationInfo, PureMutationOptions, PureQueryOptions, QueryObservable, TypedDocumentNode } from '@apollo-orbit/angular'; + + export type BookFragment = { id: string, name: string, genre: string | null, authorId: string }; + + export type BooksQueryVariables = Exact<{ + name?: InputMaybe; + genre?: InputMaybe; + authorId?: InputMaybe; + }>; + + + export type BooksQueryData = { books: Array }; + + export type UpdateBookMutationVariables = Exact<{ + id: Scalars['ID']['input']; + book: BookInput; + }>; + + + export type UpdateBookMutationData = { updateBook: BookFragment }; + + export const BookFragmentDoc = gql` + fragment BookFragment on Book { + id + name + genre + authorId + } + ` as TypedDocumentNode; + export const BooksDocument = gql` + query Books($name: String, $genre: String, $authorId: ID) { + books(name: $name, genre: $genre, authorId: $authorId) { + ...BookFragment + } + } + ${BookFragmentDoc}` as TypedDocumentNode; + + export class BooksQuery extends PureQueryOptions { + public constructor(variables?: BooksQueryVariables, context?: Context) { + super(BooksDocument, variables, context); + } + } + + export type BooksQueryObservable = QueryObservable + + export const UpdateBookDocument = gql` + mutation UpdateBook($id: ID!, $book: BookInput!) { + updateBook(id: $id, book: $book) { + ...BookFragment + } + } + ${BookFragmentDoc}` as TypedDocumentNode; + + export class UpdateBookMutation extends PureMutationOptions { + public constructor(variables: UpdateBookMutationVariables, context?: Context) { + super(UpdateBookDocument, variables, context); + } + } + + export type UpdateBookMutationInfo = MutationInfo + ``` + + + + +## Query +One of the main elements of the generated code is `BooksQuery` class: +```typescript +export class BooksQuery extends PureQueryOptions { + public constructor(variables?: BooksQueryVariables, context?: Context) { + super(BooksDocument, variables, context); + } +} +``` +This class is generated for `Books` GraphQL query and accepts an **optional** query variables constructor parameter and can be used to query data as follows: +```typescript +protected readonly booksQuery: BooksQueryObservable = this.apollo.watchQuery(new BooksQuery({ genre: 'Fiction' })); +// OR +protected readonly booksQuery: QueryResult = this.apollo.query(new BooksQuery({ genre: 'Fiction' })); +``` +An instance of `BooksQuery` has the following properties: +```typescript +{ query: BooksDocument, variables?: BooksQueryVariables, context?: { [key: string]: any } } +``` + +`BooksQueryObservable` is a helper type alias generated for `QueryObservable` + +## Mutation +Secondly, we have `UpdateBookMutation` class: +```typescript +export class UpdateBookMutation extends PureMutationOptions { + public constructor(variables: UpdateBookMutationVariables, context?: Context) { + super(UpdateBookDocument, variables, context); + } +} +``` +This class is generated for `UpdateBook` GraphQL mutation and accepts a **mandatory** mutation variables constructor parameter and can be used to execute a mutation as follows: +```typescript +protected updateBook(id: string, book: BookInput): void { + this.apollo.mutate(new UpdateBookMutation({ id, book })).subscribe(); +} +``` + +An instance of `UpdateBookMutation` has the following properties: +```typescript +{ mutation: UpdateBookDocument, variables: UpdateBookMutationVariables, context?: { [key: string]: any } } +``` + +`UpdateBookMutationInfo` is a helper type alias generated for `MutationInfo` which can be used in `state` definitions. + +:::info +Note that `UpdateBookMutation` class constructor accepts a **mandatory** variables parameter as opposed to `BooksQuery` which accepts an optional parameter. +This is automatically determined by codegen when variables have a mandatory field, in order to provide compile time safety, ensuring that variables are always provided when required by the GraphQL schema. +::: diff --git a/docs/docs/angular/codegen/intro.mdx b/docs/docs/angular/codegen/intro.mdx new file mode 100644 index 00000000..de40142f --- /dev/null +++ b/docs/docs/angular/codegen/intro.mdx @@ -0,0 +1,20 @@ +--- +sidebar_position: 1 +pagination_label: Codegen +--- + +import Link from '@docusaurus/Link' + +# Introduction +Codegen is a tool that generates strongly typed code from GraphQL operations (queries/mutations/subscriptions). +This provides compile time safety for any GraphQL server schema changes, and also enhances the developer experience by offering auto-completion and type checking for GraphQL operations. + +## GraphQL Code Generator +**Apollo Orbit** provides its own codegen plugin that's built on top of GraphQL Code Generator. +The plugin is designed for an optimal developer experience when working with GraphQL in Angular. +It is compliant with `TypedDocumentNode` standard which is supported by most GraphQL clients. + +The other plugins used in codegen as per [getting started guide](../get-started/setup-environment#setup-apollo-orbitcodegen) are: +* typescript +* typescript-operations +* add diff --git a/docs/docs/angular/codegen/near-operation.mdx b/docs/docs/angular/codegen/near-operation.mdx new file mode 100644 index 00000000..637ac3f5 --- /dev/null +++ b/docs/docs/angular/codegen/near-operation.mdx @@ -0,0 +1,103 @@ +--- +sidebar_position: 3 +--- + +import Link from '@docusaurus/Link'; +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; + +# Near Operation File Preset +The default setup as per [getting started guide](../get-started/setup-environment#setup-apollo-orbitcodegen) generates all TypeScript code in a single *types.ts* file. + +Near Operation File Preset generates TypeScript code for GraphQL operations next to the *.graphql* file that defines them. + +This can have few advantages: +* Better code organization and easier navigation in the project. +* In lazy loaded Angular modules, the GraphQL code is part of the module's javascript chunk instead of the main bundle. +* Less likely to cause git merge conflicts than the single *types.ts* file. + +## Setup + +### Install dependency + + + + ```bash + yarn add --dev @graphql-codegen/near-operation-file-preset + ``` + + + ```bash + npm install --save-dev @graphql-codegen/near-operation-file-preset + ``` + + + +### Update codegen.ts + + +```typescript title="codegen.ts" +import { CodegenConfig } from '@graphql-codegen/cli'; + +const config: CodegenConfig = { + schema: [ + 'http://localhost:4000/graphql', + { + './src/app/**/*.state.ts': { + noRequire: true + } + } + ], + config: { + operationResultSuffix: 'Data', + querySuffix: 'Query', + mutationSuffix: 'Mutation', + subscriptionSuffix: 'Subscription', + dedupeOperationSuffix: true, + inlineFragmentTypes: 'combine', + avoidOptionals: { + field: true + } + }, + generates: { + './src/app/graphql/types.ts': { + // code-remove-line + documents: './src/app/**/*.graphql', + plugins: [ + { + add: { + content: '/* eslint-disable */' + } + }, + 'typescript', + // code-remove-start + 'typescript-operations', + '@apollo-orbit/codegen' + // code-remove-end + ] + } + // code-add-start + './src/app': { + documents: './src/app/**/*.graphql', + preset: 'near-operation-file', + presetConfig: { + extension: '.ts', + baseTypesPath: 'graphql/types.ts', + importTypesNamespace: '_' + }, + plugins: [ + { + add: { + content: '/* eslint-disable */' + } + }, + 'typescript-operations', + '@apollo-orbit/codegen' + ] + } + // code-add-end + } +}; + +export default config; +``` diff --git a/docs/docs/angular/fetching/_category_.json b/docs/docs/angular/fetching/_category_.json new file mode 100644 index 00000000..7c546b8b --- /dev/null +++ b/docs/docs/angular/fetching/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 3, + "label": "Fetching", + "collapsible": true, + "collapsed": false +} diff --git a/docs/docs/angular/fetching/fragments.mdx b/docs/docs/angular/fetching/fragments.mdx new file mode 100644 index 00000000..1ad28cde --- /dev/null +++ b/docs/docs/angular/fetching/fragments.mdx @@ -0,0 +1,53 @@ +--- +sidebar_position: 4 +title: Fragments +--- + +import Link from '@docusaurus/Link' + +## Prerequisites +This article assumes you're familiar with building basic GraphQL fragments. + +For a full documentation of fragments, please refer to the Apollo Client docs + +## Overview +**Apollo Client** provides few standard methods for interacting with fragments that are covered here. +In addition to those methods, **Apollo Orbit** provides the following: + + +## `watchFragment` +Is a method available on an `Apollo` instance that allows you to watch a fragment in the cache. This is useful when you want to subscribe to changes in a fragment. + +It is a thin wrapper around the underlying `ApolloClient.watchFragment` except it returns an **RxJS** `Observable` instead of the `ZenObservable` used by **Apollo Client**. + +The call stack is as follows: +```typescript +apollo.watchFragment(options): Observable +apollo.client.watchFragment(options): ZenObservable +apollo.client.cache.watchFragment(options): ZenObservable +... +``` + +### Example +```typescript +this.apollo.watchFragment({ + fragment: AuthorFragmentDoc, + from: { + __typename: 'Author', + id: '1' + } +}).pipe( + map(result => result.data as AuthorFragment) +); +``` + +## `identifyFragment` +Is a utility function provided by **Apollo Orbit** that extract the `__typename` from a fragment document and returns `{__typename}:{id}` format used for querying and updating fragments. + +The above example can be re-written as follows: +```typescript +const { id, fragment } = identifyFragment(AuthorFragmentDoc, '1'); +this.apollo.watchFragment({ fragment, from: id }).pipe( + map(result => result.data as AuthorFragment) +); +``` diff --git a/docs/docs/angular/fetching/mutations.mdx b/docs/docs/angular/fetching/mutations.mdx new file mode 100644 index 00000000..9079a73a --- /dev/null +++ b/docs/docs/angular/fetching/mutations.mdx @@ -0,0 +1,108 @@ +--- +sidebar_position: 2 +title: Mutations +--- + +import Link from '@docusaurus/Link' + +## Prerequisites +This article assumes you're familiar with building basic GraphQL mutations. If you need a refresher, we recommend this guide. + +This article also assumes that you've already set up your environment as per [getting started guide](../get-started/setup-environment). + +## Overview +`mutate` is the primary method for modifying GraphQL back-end data in **Apollo Orbit**. + +For a full documentation of mutations, please refer to the Apollo Client docs + +## `mutate` +```typescript +mutate(options: MutationOptions): Observable> +``` +Returns a `MutationResult` observable. This observable terminates with a result when the mutation is successful or an an error when it it fails. +:::note +The observable must be **subscribed** to for the mutation to execute. +::: + +## Executing a mutation +To execute a mutation, inject `Apollo` and pass it a GraphQL mutation document. + +Let's look at an example. + +First, we'll create a GraphQL mutation named `UpdateBook`: + +```graphql title="library/gql/book.graphql" +mutation UpdateBook($id: ID!, $book: BookInput!) { + updateBook(id: $id, book: $book) { + ...BookFragment + } +} +``` + +Saving *book.graphql* will trigger codegen of `UpdateBookMutation` class in */graphql/types.ts* file as per our setup. + +For more information about **codegen** and how it works, please refer to the [Codegen](../codegen/intro) section. + +:::tip +We have used the same `BookFragment` from our previous query example, that way **Apollo Client** will automatically normalize and update the cache with the new data returned from the mutation. +This will automatically update any active `QueryObservable` instances that are watching the same data, and the UI will display the new data without any additional effort by the developer. +::: + +Next, we execute the mutation and handle the result. +```typescript title="library/books/books.component.ts" +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { Apollo } from '@apollo-orbit/angular'; +import { UpdateBookMutation } from '../graphql/types'; + +@Component({ + selector: 'app-books', + templateUrl: './books.component.html', + styleUrls: ['./books.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class BooksComponent { + protected readonly error = signal(undefined); + + public constructor( + private readonly apollo: Apollo, + private readonly notificationService: NotificationService + ) { } + + ... + + protected updateBook(id: string, book: BookInput): void { + this.error.set(undefined); + this.apollo.mutate(new UpdateBookMutation({ id, book })).subscribe({ + next: result => this.notificationService.success(`Book '${result.data!.updateBook.name}' was updated successfully.`), + error: (error) => this.error.set(error) + }); + } +} +``` +:::note +We apply non-null assertion `!` to `result.data` above because we know that, in this case, a successful mutation will always return data. +In some **edge** cases both `data` and `error` might be undefined, for example when `errorPolicy` is set to `ignore`. +::: + +## `mapMutation` +Similar to `mapQuery`, **Apollo Orbit** provides a `mapMutation` RxJS operator to map the `data` of a mutation result while preserving the other properties. +This is useful when you want to map the mutation result without dealing with the nullability of `data` property. +```typescript +import { mapMutation } from '@apollo-orbit/angular'; +... +this.apollo.mutate(new UpdateBookMutation({ id, book })).pipe( + // code-add-line + mapMutation(data => data.updateBook.name) +).subscribe({ + // code-add-line + next: name => this.notification.success(`Book '${name}' was updated successfully.`), + error: (error) => this.error.set(error) +}); +``` + +## Cache normalisation +As we've seen above, **Apollo Client** automatically updates the cache with the new data returned from the mutation. +But this might not be as straight forward with other mutations like `addBook` or `deleteBook` where the cache needs to be updated manually because **Apollo Client** cannot identify which parts of the cache reference the list of books. +For example, we might need to add a book to an author's books list and to the full list of books in cache. + +This, including optimistic UI & refetching queries, will be covered in more detail in the [State](../state/intro) section of the docs. diff --git a/docs/docs/angular/fetching/queries.mdx b/docs/docs/angular/fetching/queries.mdx new file mode 100644 index 00000000..b2024dff --- /dev/null +++ b/docs/docs/angular/fetching/queries.mdx @@ -0,0 +1,241 @@ +--- +sidebar_position: 1 +title: Queries +--- + +import Link from '@docusaurus/Link' + +## Prerequisites +This article assumes you're familiar with building basic GraphQL queries. If you need a refresher, we recommend this guide. + +This article also assumes that you've already set up your environment as per [getting started guide](../get-started/setup-environment). + +## Overview +`query` and `watchQuery` are the two primary methods for fetching data from GraphQL back-end in **Apollo Orbit**, with slightly different behaviours. + +For a full documentation of queries, please refer to the Apollo Client docs + +## `query` +```typescript +query(options: QueryOptions): Observable>; +``` + +Returns a standard **RxJS** `Observable>` that terminates after data is fetched. +By default, `query` does not emit the query's initial loading status (`notifyOnLoading = false`) and on failure it emits errors on the observable's **error** stream (`throwError = true`). + +It is ideal for once off queries, like inside an **Angular** route guard or resolver. + +## `watchQuery` +```typescript +watchQuery(options: WatchQueryOptions): QueryObservable +``` + +Returns a `QueryObservable` which extends **RxJS**'s standard `Observable>` and is a wrapper around **Apollo Client**'s underlying `ObservableQuery`. +This allows direct calls to `Observable` members like `subscribe` and `pipe` and also `ObservableQuery` members like `variables`, `refetch`, `fetchMore` and `subscribeToMore`... + +Unlike `query`, `watchQuery`'s observable does not terminate once data is fetched, but instead, it'll continue watching the cache for any changes to fetched data. +By default, `watchQuery` emits the query's initial loading status (`notifyOnLoading = true`) and on failure it emits errors on the observable's **next** stream as part of `QueryResult`'s `error` property (`throwError = false`). + +It is ideal for reactive components. + +## Executing a query +To execute a query within an Angular component, inject `Apollo` and pass it a GraphQL query document. When your component renders, `watchQuery` observable emits a `QueryResult` object that contains `loading`, `error`, `data` and `previousData` properties you can use to render your UI. + +Let's look at an example. + +First, we'll create a GraphQL query named `Books`: + +```graphql title="library/gql/book.graphql" +fragment BookFragment on Book { + id + name + genre + authorId +} + +query Books($name: String, $genre: String, $authorId: ID) { + books(name: $name, genre: $genre, authorId: $authorId) { + ...BookFragment + } +} +``` + +Saving *book.graphql* will trigger codegen of `BooksQuery` class in */graphql/types.ts* file as per our setup. + +For more information about **codegen** and how it works, please refer to the [Codegen](../codegen/intro) section. + +:::tip +It is recommended to define re-usable fragments, like `BookFragment` above, for a couple of reasons: +* Codegen will generate a `BookFragment` type which can be consistently referenced throughout the codebase. +* Using the same fragment in **queries** and **mutations** ensures that **Apollo Client** can normalize data in cache correctly. For example, if an `updateBook` **mutation** returns a `BookFragment` then our `watchQuery` observable will automatically emit the new value when the **mutation** executes successfully. +::: + +Next, we define the query in our component: +```typescript title="books/books.component.ts" +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { Apollo } from '@apollo-orbit/angular'; +import { BooksQuery } from '../graphql/types'; + +@Component({ + selector: 'app-books', + templateUrl: './books.component.html', + styleUrls: ['./books.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class BooksComponent { + protected readonly booksQuery = this.apollo.watchQuery(new BooksQuery()); + + public constructor( + private readonly apollo: Apollo + ) { } +} +``` +Then, we subscribe to the query using `async` pipe and handle the different query states: +```html title="books/books.component.html" +

Books

+@if (booksQuery | async; as booksResult) { + @if (booksResult.loading) { Loading... } + @if (booksResult.error) { {{ booksResult.error.message }} } + @if (booksResult.data?.books; as books) { + @for (book of books; track book.id) { +
{{ book.name }}
+ } + } +} +``` + +## Variables +Variables are passed as constructor parameters to `new BooksQuery()`: + +```typescript title="books/books.component.ts" +@Component({ + ... +}) +export class BooksComponent { + // code-add-line + protected readonly booksQuery = this.apollo.watchQuery(new BooksQuery({ genre: 'Fiction' })); + + ... +} +``` + +This ensures that a query with required variables generates a class with required constructor parameters as explained in the [Codegen](../codegen/generated-code) section. + +## Options +For the complete list of options available to query methods, please refer to Apollo Client docs + +In the next example, let's see how we can modify the query from the previous example in order to allow users to manually refetch the data. + +First, we will need to pass `notifyOnNetworkStatusChange` option to our `watchQuery` method, this tells Apollo Client to set `loading` property to true whenever a refetch is in flight. +In order to do that, we will need to spread the `query`, `variables` & `context` properties of `new BooksQuery()` and add `notifyOnNetworkStatusChange: true` to the options object. + +Secondly, we define a method in our component that calls `refetch` method on the `QueryObservable` instance. + +```typescript title="books/books.component.ts" +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { Apollo } from '@apollo-orbit/angular'; +import { BooksQuery } from '../graphql/types'; + +@Component({ + selector: 'app-books', + templateUrl: './books.component.html', + styleUrls: ['./books.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class BooksComponent { + // code-remove-line + protected readonly booksQuery = this.apollo.watchQuery(new BooksQuery()); + // code-add-line + protected readonly booksQuery = this.apollo.watchQuery({ ...new BooksQuery(), notifyOnNetworkStatusChange: true }); + + public constructor( + private readonly apollo: Apollo + ) { } + + // code-add-start + protected refetch(): void { + this.booksQuery.refetch(); + } + // code-add-end +} +``` + +Then, we modify the template to include a button that calls `refetch`, and finally, we replace `booksResult.data?.books` with `booksResult.data ?? booksResult.previousData`. +This is because while a refetch is in flight, the `QueryResult` object will have `{ loading: true, data: undefined, ... }` which can provide a jarring user experience as the data disappears off the screen until the new data arrives. +**Apollo Orbit** exposes a `previousData` property which stores the last non-nil value of the `data` property that can be used to provide a smoother user experience. + +```html title="books/books.component.html" +

+ Books + // code-add-line + +

+@if (booksQuery | async; as booksResult) { + @if (booksResult.loading) { Loading... } + @if (booksResult.error) { {{ booksResult.error.message }} } + // code-remove-line + @if (booksResult.data?.books; as books) { + // code-add-line + @if ((booksResult.data ?? booksResult.previousData)?.books; as books) { + @for (book of books; track book.id) { +
{{ book.name }}
+ } + } +} +``` + +## `mapQuery` +**Apollo Orbit** provides a `mapQuery` RxJS operator to map both `data` and `previousData` of a query result while preserving the other properties. +This is useful when you want to map the query result without dealing with the nullability of `data` and `previousData` properties. +```typescript +import { mapQuery } from '@apollo-orbit/angular'; +... +protected readonly bookNames$: Observable>> = this.apollo.watchQuery(new BooksQuery()).pipe( + // code-add-line + mapQuery(data => data.books.map(book => book.name)) +); +``` + +## `cache.watchQuery` +`Apollo.cache.watchQuery` method can be used to watch data directly in the cache. + +Unlike `Apollo.watchQuery`, it can only query the cache and does not execute a network request or any of **Apollo Link**'s middleware. + +It is ideal when querying **local-only** data. + +### Example +```typescript +protected readonly theme$ = this.apollo.cache.watchQuery(new ThemeQuery()).pipe( + map(({ data }) => data.theme) +); +``` + +### Comparison +`Apollo.cache.watchQuery` has few pros and cons compared to `Apollo.watchQuery` method. + +#### Pros +* By default `data` property returned by the observable is defined and does not require null-checking. + * Unless `returnPartialData` option is set to `true`. +* There's no need to handle loading and error states. +* Synchronous observable execution + * The data is returned instantly when the observable is subscribed to. + * When the observable is subscribed to from an Angular template, the template will complete rendering in a single cycle. + * View children referenced in the component will be available in `ngAfterViewInit` lifecycle hook. + * The observable can be converted to a non-nil `Signal` using `toSignal` function with `{ requireSync: true }` option. + +#### Cons +* Does not execute a network request if the data is not available in the cache. +* Throws an error if the any selected field in the query is not available in the cache. + * Unless `returnPartialData` option is set to `true`. + + +#### Cyclic cache updates +Because of the synchronous nature of `Apollo.cache.watchQuery`, attempting to update the cache in the observable's subscribe callback will cause **Apollo Client** to throw an `already computing` error. +This can be avoided by piping the observable through `observeOn(asyncScheduler)` which will queue the `observer.next` call after cache update operation is complete, mimicking the behaviour of `Apollo.watchQuery`. +```typescript +this.apollo.cache.watchQuery(new ThemeQuery()).pipe( + observeOn(asyncScheduler), +).subscribe(({ data }) => { + // Update cache +}); +``` diff --git a/docs/docs/angular/fetching/subscriptions.mdx b/docs/docs/angular/fetching/subscriptions.mdx new file mode 100644 index 00000000..7a03426f --- /dev/null +++ b/docs/docs/angular/fetching/subscriptions.mdx @@ -0,0 +1,88 @@ +--- +sidebar_position: 3 +title: Subscriptions +--- + +import Link from '@docusaurus/Link' + +## Prerequisites +This article also assumes that you've already set up your environment as per [getting started guide](../get-started/setup-environment). + +This article also assumes that you've followed [**HTTP + Subscriptions** guide](../get-started/setup-graphql?link=subscriptions). + +## Overview +`subscribe` is the primary method for subscribing to GraphQL back-end data in **Apollo Orbit**. + +For a full documentation of subscriptions, please refer to the Apollo Client docs + +## `subscribe` +```typescript +subscribe(options: SubscriptionOptions): Observable> +``` +Returns a `SubscriptionResult` observable. This observable is long lasting and continues to deliver results from GraphQL backend until unsubscribed to. + +## Executing a subscription +To execute a subscription, inject `Apollo` and pass it a GraphQL subscription document. + +Let's look at an example. + +First, we'll create a GraphQL subscription named `NewAuthor`: + +```graphql title="library/gql/author.graphql" +fragment AuthorFragment on Author { + id + name + age +} + +subscription NewAuthor { + newAuthor { + ...AuthorFragment + } +} +``` + +Saving *author.graphql* will trigger codegen of `NewAuthorSubscription` class in */graphql/types.ts* file as per our setup. + +For more information about **codegen** and how it works, please refer to the [Codegen](../codegen/intro) section. + +Next, we define the subscription in our component: +```typescript title="authors/authors.component.ts" +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { Apollo, mapSubscription } from '@apollo-orbit/angular'; +import { NewAuthorSubscription } from '../graphql/types'; + +@Component({ + selector: 'app-authors', + templateUrl: './authors.component.html', + styleUrls: ['./authors.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class AuthorsComponent { + protected readonly newAuthorName$: Observable = this.apollo.subscribe(new NewAuthorSubscription()).pipe( + mapSubscription(data => data.newAuthor.name) + ); + + public constructor( + private readonly apollo: Apollo + ) { } +} +``` +Then, we subscribe to the data using `async` pipe: +```html title="authors/authors.component.html" +@if (newAuthorName$ | async; as newAuthorName) { +
New author was added: {{ newAuthorName }}
+} +``` + +## `mapSubscription` +**Apollo Orbit** provides a `mapSubscription` RxJS operator to map `data` of a subscription result while preserving the other properties. +This is useful when you want to map the subscription result without dealing with the nullability of `data` property. +```typescript +import { mapSubscription } from '@apollo-orbit/angular'; +... +protected readonly newAuthorName$: Observable = this.apollo.subscribe(new NewAuthorSubscription()).pipe( + // code-add-line + mapSubscription(data => data.newAuthor.name) +); +``` diff --git a/docs/docs/angular/get-started/_category_.json b/docs/docs/angular/get-started/_category_.json new file mode 100644 index 00000000..fe01f587 --- /dev/null +++ b/docs/docs/angular/get-started/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 2, + "label": "Getting Started", + "collapsible": true, + "collapsed": false +} diff --git a/docs/docs/angular/get-started/setup-environment.mdx b/docs/docs/angular/get-started/setup-environment.mdx new file mode 100644 index 00000000..171422ce --- /dev/null +++ b/docs/docs/angular/get-started/setup-environment.mdx @@ -0,0 +1,162 @@ +--- +sidebar_position: 2.1 +--- + +import Link from '@docusaurus/Link'; +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; +import CodegenTip from '../../shared/_codegen-tip.mdx'; + +# Setup Environment +The following steps will get you fully setup with `@apollo-orbit/angular` and `@apollo-orbit/codegen`. +All the code samples in the docs assume that the following steps were completed successfully. + +### Setup `@apollo-orbit/angular` + + + + ```bash + yarn add @apollo-orbit/angular @apollo/client graphql + ``` + + + ```bash + npm install @apollo-orbit/angular @apollo/client graphql + ``` + + + + +### Setup `@apollo-orbit/codegen` + + +#### Install codegen dependencies + + + + ```bash + yarn add --dev @apollo-orbit/codegen @graphql-codegen/add @graphql-codegen/cli @graphql-codegen/typescript @graphql-codegen/typescript-operations @graphql-codegen/visitor-plugin-common concurrently @parcel/watcher + ``` + + + ```bash + npm install --save-dev @apollo-orbit/codegen @graphql-codegen/add @graphql-codegen/cli @graphql-codegen/typescript @graphql-codegen/typescript-operations @graphql-codegen/visitor-plugin-common concurrently + ``` + + + + +#### Update package.json + +```jsx title="package.json" +"scripts": { + "start": "concurrently --raw \"yarn codegen --watch\" \"ng serve\"", + "codegen": "graphql-codegen --config ./codegen.ts", + ... +} +``` + +:::info +**concurrently** is used here in order to run codegen in watch mode side by side with your Angular application when running `yarn start`. +`yarn codegen` can also be executed manually to trigger GraphQL codegen. +::: + +#### Create codegen.ts + +```typescript title="codegen.ts" +import { CodegenConfig } from '@graphql-codegen/cli'; + +const config: CodegenConfig = { + schema: [ + 'http://localhost:4000/graphql', + { + './src/app/**/*.state.ts': { + noRequire: true + } + } + ], + config: { + operationResultSuffix: 'Data', + querySuffix: 'Query', + mutationSuffix: 'Mutation', + subscriptionSuffix: 'Subscription', + dedupeOperationSuffix: true, + inlineFragmentTypes: 'combine', + avoidOptionals: { + field: true + } + }, + generates: { + './src/app/graphql/types.ts': { + documents: './src/app/**/*.graphql', + plugins: [ + { + add: { + content: '/* eslint-disable */' + } + }, + 'typescript', + 'typescript-operations', + '@apollo-orbit/codegen' + ] + } + } +}; + +export default config; +``` + +More information on `@apollo-orbit/codegen` can be found in the [Codegen guide](../codegen/intro). + +### Setup GraphQL syntax highlighting & auto-complete + +#### Install VSCode extension +GraphQL: Language Feature Support + +#### Create graphql.config.js +Create the following file in the root folder of your project. + +```javascript title="graphql.config.js" +module.exports = { + schema: [ + 'http://localhost:4000/graphql', + 'src/app/**/*.state.ts' + ], + documents: [ + 'src/app/**/*.graphql' + ], + extensions: { + customDirectives: [ + 'directive @client on FIELD' // required for Apollo Client local schema + ] + } +}; +``` + +For more information, visit configuration documentation + +### Update ESLint +Add the following rule to *.eslintrc.js* to ensure the correct import paths are used in your application. +```javascript title=".eslintrc.js " +'no-restricted-imports': [ + 'error', + { + paths: [ + { + name: '@apollo/client', + message: 'Please use @apollo/client/core instead.' + }, + { + name: '@apollo-orbit/angular/core', + message: 'Please use @apollo-orbit/angular instead.' + }, + { + name: '@apollo-orbit/core', + message: 'Please use @apollo-orbit/angular instead.' + } + ] + } +] +``` + +For more information on **Apollo Orbit** entry points, please refer to [Library Entry Point guide](../advanced/entry-point). diff --git a/docs/docs/angular/get-started/setup-graphql.mdx b/docs/docs/angular/get-started/setup-graphql.mdx new file mode 100644 index 00000000..9f46a892 --- /dev/null +++ b/docs/docs/angular/get-started/setup-graphql.mdx @@ -0,0 +1,255 @@ +--- +sidebar_position: 2.2 +--- + +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; + +# Setup GraphQL + +Setup GraphQL based on your angular project's style. + + + + + + Create `provideGraphQL` under *app/graphql/graphql.provider.ts* + + + + + + ```typescript title="app/graphql/graphql.provider.ts" + import { EnvironmentProviders, inject, makeEnvironmentProviders } from '@angular/core'; + import { InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; + import { HttpLinkFactory, withHttpLink } from '@apollo-orbit/angular/http'; + + export function provideGraphQL(): EnvironmentProviders { + return makeEnvironmentProviders([ + provideApolloOrbit( + withApolloOptions(() => { + const httpLinkFactory = inject(HttpLinkFactory); + const httpLink = httpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }) + + return { + cache: new InMemoryCache(), + link: httpLink + }; + }), + withHttpLink() + ) + ]); + } + + ``` + + + + + + + + ```bash + yarn add graphql-ws + ``` + + + ```bash + npm install graphql-ws + ``` + + + + ```typescript title="app/graphql/graphql.provider.ts" + import { EnvironmentProviders, inject, makeEnvironmentProviders } from '@angular/core'; + import { InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; + import { HttpLinkFactory, withHttpLink } from '@apollo-orbit/angular/http'; + import { split } from '@apollo/client/core'; + import { GraphQLWsLink } from '@apollo/client/link/subscriptions'; + import { getMainDefinition } from '@apollo/client/utilities'; + import { createClient } from 'graphql-ws'; + + export function provideGraphQL(): EnvironmentProviders { + return makeEnvironmentProviders([ + provideApolloOrbit( + withApolloOptions(() => { + const httpLinkFactory = inject(HttpLinkFactory); + const httpLink = httpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }); + const wsLink = new GraphQLWsLink(createClient({ url: 'ws://localhost:4000/graphql' })); + + return { + cache: new InMemoryCache(), + link: split( + ({ query }) => { + const definition = getMainDefinition(query); + return ( + definition.kind === 'OperationDefinition' && + definition.operation === 'subscription' + ); + }, + wsLink, + httpLink + ) + }; + }), + withHttpLink() + ) + ]); + } + + ``` + + + + + + Then import `provideGraphQL` into `appConfig` + + ```typescript title="app/app.config.ts" + import { ApplicationConfig } from '@angular/core'; + import { provideRouter } from '@angular/router'; + import { routes } from './app.routes'; + // code-add-start + import { provideGraphQL } from './graphql/graphql.provider'; + import { provideHttpClient } from '@angular/common/http'; + // code-add-end + + export const appConfig: ApplicationConfig = { + providers: [ + provideRouter(routes), + // code-add-start + provideHttpClient(), + provideGraphQL() + // code-add-end + ] + }; + ``` + + + + + Create `GraphQLModule` under *app/graphql/graphql.module.ts* + + + + + + ```typescript title="app/graphql/graphql.module.ts" + import { NgModule, inject } from '@angular/core'; + import { InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; + import { HttpLinkFactory, withHttpLink } from '@apollo-orbit/angular/http'; + + @NgModule({ + providers: [ + provideApolloOrbit( + withApolloOptions(() => { + const httpLinkFactory = inject(HttpLinkFactory); + const httpLink = httpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }) + + return { + cache: new InMemoryCache(), + link: httpLink + }; + }), + withHttpLink() + ) + ] + }) + export class GraphQLModule { } + + ``` + + + + + + + + ```bash + yarn add graphql-ws + ``` + + + ```bash + npm install graphql-ws + ``` + + + + ```typescript title="app/graphql/graphql.module.ts" + import { NgModule, inject } from '@angular/core'; + import { InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; + import { HttpLinkFactory, withHttpLink } from '@apollo-orbit/angular/http'; + import { split } from '@apollo/client/core'; + import { GraphQLWsLink } from '@apollo/client/link/subscriptions'; + import { getMainDefinition } from '@apollo/client/utilities'; + import { createClient } from 'graphql-ws'; + + @NgModule({ + providers: [ + provideApolloOrbit( + withApolloOptions(() => { + const httpLinkFactory = inject(HttpLinkFactory); + const httpLink = httpLinkFactory.create({ uri: 'http://localhost:4000/graphql' }); + const wsLink = new GraphQLWsLink(createClient({ url: 'ws://localhost:4000/graphql' })); + + return { + cache: new InMemoryCache(), + link: split( + ({ query }) => { + const definition = getMainDefinition(query); + return ( + definition.kind === 'OperationDefinition' && + definition.operation === 'subscription' + ); + }, + wsLink, + httpLink + ) + }; + }), + withHttpLink() + ) + ] + }) + export class GraphQLModule { } + + ``` + + + + + + Then import `GraphQLModule` into `AppModule` + + ```typescript title="app/app.module.ts" + import { NgModule } from '@angular/core'; + import { BrowserModule } from '@angular/platform-browser'; + import { AppRoutingModule } from './app-routing.module'; + import { AppComponent } from './app.component'; + // code-add-start + import { HttpClientModule } from '@angular/common/http'; + import { GraphQLModule } from './graphql/graphql.module'; + // code-add-end + + @NgModule({ + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + AppRoutingModule, + // code-add-start + HttpClientModule, + GraphQLModule + // code-add-end + ], + providers: [], + bootstrap: [AppComponent] + }) + export class AppModule { } + ``` + + + + diff --git a/docs/docs/angular/index.mdx b/docs/docs/angular/index.mdx new file mode 100644 index 00000000..6c9d9a81 --- /dev/null +++ b/docs/docs/angular/index.mdx @@ -0,0 +1,28 @@ +--- +sidebar_position: 1 +--- + +import Link from '@docusaurus/Link' +import StateFeatures from '../shared/_state-features.mdx' + +# Introduction +**Apollo Orbit** is a fully-featured **Apollo Client** for **Angular**. + +**Apollo Client** is a GraphQL client with advanced caching capabilities which can be used to fetch, cache, and modify application data, all while automatically updating your Angular UI. + +**Apollo Orbit** brings the power of **Apollo Client** to **Angular** and combines it with Redux/NGXS concepts for state management. + +## Features + +### General +* **Fully-featured** implementation of **Apollo Client** for **Angular** with focus on **optimal developer experience**. +* **Seamless integration** with Angular framework and **RxJS**. +* **Strongly typed:** `@apollo-orbit/codegen` package generates TypeScript code for queries, mutations & subscriptions catching any breaking changes in the GraphQL schema at compile time. +* **Battle tested and production ready:** used in production environment for 3+ years. + +### State Management + + +## Docs +The docs are designed to supplement Apollo Client docs, with focuses on the **Angular** specific API and features implemented by **Apollo Orbit**. +For a comprehensive understanding of all available options, features and guides, we recommend referring to Apollo Client docs. diff --git a/docs/docs/angular/state/_category_.json b/docs/docs/angular/state/_category_.json new file mode 100644 index 00000000..442d9e4d --- /dev/null +++ b/docs/docs/angular/state/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 4, + "label": "State", + "collapsible": true, + "collapsed": false +} diff --git a/docs/docs/angular/state/action.mdx b/docs/docs/angular/state/action.mdx new file mode 100644 index 00000000..75a97a4d --- /dev/null +++ b/docs/docs/angular/state/action.mdx @@ -0,0 +1,192 @@ +--- +sidebar_position: 8 +title: 'action' +--- + +import EventCommand from '../../shared/_event-command.mdx'; + +## Overview +Actions are simple classes that have a unique `type` property and, optionally, additional information. + +Actions generally take one of two forms: +* **Command**: A verb. For example, `[Theme] ToggleTheme` +* **Event**: Past tense. For example, `[Library] BookSelected` + + + +## Defining an action +An action is required to have a unique `type`. By convention, `type` follows the format `[] ` to uniquely identify the action throughout the app. + +```typescript title="states/theme/theme.actions.ts" +import { ThemeName } from '../../graphql/types'; + +export class ToggleThemeAction { + public static readonly type = '[Theme] ToggleTheme'; + + public constructor( + public readonly force?: ThemeName + ) { } +} +``` + +## Dispatching an action +Dispatching an action is as simple as calling `apollo.dispatch(new ToggleThemeAction())` from anywhere in the app. + +It returns an `Observable` which completes when all states have completed handling the action. If any of the `action` handlers throws an error, then the observable emits an error. +This can be useful for executing some logic only after an action has completed, especially if some of the handlers are asynchronous. For example: +```typescript +export class ThemeComponent { + public constructor( + private readonly apollo: Apollo + ) { } + + protected toggleTheme(force?: ThemeName): void { + this.apollo.dispatch(new ToggleThemeAction(force)).subscribe({ + next: () => console.log('Theme toggle succeeded'), + error: () => console.error('Theme toggle failed') + }); + } + + protected dispatchMultipleActions(): void { + forkJoin([ + this.apollo.dispatch(new FirstAction()), + this.apollo.dispatch(new SecondAction()), + ]).subscribe({ + next: () => console.log('Actions execution succeeded'), + error: () => console.error('Actions execution failed') + }); + } +} +``` + +:::note +Unlike, `mutate`, `dispatch` executes regardless of whether the observable is subscribed to or not. +::: + +### API +```typescript +public dispatch(action: TAction): Observable + +type ActionInstance = InstanceType>; + +interface ActionType { + type: string; + new(...args: Array): T; +} +``` + +## Handling an action +`action` is used in a `state` slice to define an action handler. + +An `action` handler can be synchronous or asynchronous and can be used to update the cache, call a service, or perform any other logic. + +Action handlers can be chained together to form a sequence of actions that are executed in order, by using the `dispatch` function which is available in the `ActionContext` parameter. + +### Usage +Let's look at an example of how a `LogoutUserAction` can be handled asynchronously in the **user** `state` and chained with another action handler. + +```typescript title="states/user/user.state.ts" +export const userState = () => { + const userSessionApi = inject(UserSessionApi); + + return state(descriptor => descriptor + .action(LogoutUserAction, (action, { dispatch }) => { + return userSessionApi.endUserSession().pipe( + mergeMap(() => dispatch(new UserLoggedOutAction())) + ); + }) + .action(UserLoggedOutAction, (action, { cache }) => { + cache.writeQuery({ ...new CurrentUserQuery(), data: { currentUser: null } }); + }) + ); +} +``` + +When `apollo.dispatch(new LogoutUserAction())` is called from a component or a service, it will: +1. First, invoke the `LogoutUserAction` handler. +2. Then, invoke the `UserLoggedOutAction` handler. +3. Finally, complete the observable returned by `apollo.dispatch(new LogoutUserAction())` when both handlers have finished executing. + +:::note +It is important to return the observable from an asynchronous action handler to ensure that the observable returned by `dispatch` completes only after the action handler has finished executing. +::: + +### API +```typescript +type ActionFn = (action: T, context: ActionContext) => void | Promise | Observable; + +interface ActionContext { + cache: ApolloCache; + dispatch(action: TAction): Observable; +} +``` + +In the next page we will see a complete example of how actions and their handlers can be used for managing [local state](./local-state). + +## Actions stream +`Apollo` exposes an `actions` stream which emits all dispatched actions at different stages of their lifecycle. + +**Apollo Orbit** provides the following (fully typed) **RxJS** operators to filter the actions stream: +* `ofActionDispatched`: When an action is first dispatched. +* `ofActionSuccess`: When execution of all action handlers has completed successfully. +* `ofActionError`: When execution of one or more action handlers has failed. +* `ofActionComplete`: When execution of all action handlers has completed, regardless of success or failure. + +All of the operators return an `Observable` except for `ofActionComplete` which returns `Observable>`. + +### API +```typescript +interface ActionComplete { + action: TAction; + error?: Error; + status: 'success' | 'error'; +} +``` + +### Examples +```typescript +this.apollo.actions.pipe( + ofActionDispatched(AddBookAction) +).subscribe({ + next: action => console.log(`Add book '${action.book.id}' dispatched.`) +}); + +this.apollo.actions.pipe( + ofActionSuccess(AddBookAction) +).subscribe({ + next: action => console.log(`Add book '${action.book.id}' succeeded.`) +}); + +this.apollo.actions.pipe( + ofActionError(AddBookAction) +).subscribe({ + next: action => console.error(`Add book '${action.book.id}' failed.`) +}); + +this.apollo.actions.pipe( + ofActionComplete(AddBookAction) +).subscribe({ + next: result => { + if (!result.error) { + console.log(`Add book '${result.action.book.id}' succeeded.`); + } else { + console.error(`Add book '${result.action.book.id}' failed. Error: ${result.error.message}`); + } + } +}); + +this.apollo.actions.pipe( + ofActionSuccess(BookSelectedAction, BookDeselectedAction) +).subscribe(action => { + if (action instanceof BookSelectedAction) { + console.log(`Book '${action.selectedId}' was selected`); + } else if (action instanceof BookDeselectedAction) { + console.log(`Book '${action.deselectedId}' was deselected`); + } +}); +``` +> Unsubscribe logic omitted for brevity. + +:::tip +Actions stream can also be used for direct communication between components on the page, removing the need for a shared service in some scenarios. +::: diff --git a/docs/docs/angular/state/effect.mdx b/docs/docs/angular/state/effect.mdx new file mode 100644 index 00000000..3278a869 --- /dev/null +++ b/docs/docs/angular/state/effect.mdx @@ -0,0 +1,36 @@ +--- +sidebar_position: 4 +title: 'effect' +--- + +## Overview +`effect` is used to execute a side-effect after a mutation has completed whether successful or not. + +## Usage +Let's extend `bookState` to display a notification when `AddBookMutation` is executed. + +```typescript title="library/states/book.state.ts" +import { inject } from '@angular/core'; +import { StateFactory, state } from '@apollo-orbit/angular'; +import { AddBookMutation } from '../../graphql/types'; +import { NotificationService } from '../../services/notification.service'; + +export const bookState: StateFactory = () => { + const notificationService = inject(NotificationService); + + return state(descriptor => descriptor + ... + .effect(AddBookMutation, info => { + if (info.data?.addBook) { + notificationService.success(`New book '${info.data.addBook.name}' was added successfully.`); + } else if (info.error) { + notificationService.error(`Failed to add book '${info.variables?.book.name}': ${info.error.message}`); + } + }) + ); +}; +``` + +:::note +`bookState` was changed to a `StateFactory` in order to inject `NotificationService`. +::: diff --git a/docs/docs/angular/state/intro.mdx b/docs/docs/angular/state/intro.mdx new file mode 100644 index 00000000..80d97591 --- /dev/null +++ b/docs/docs/angular/state/intro.mdx @@ -0,0 +1,14 @@ +--- +sidebar_position: 1 +pagination_label: State +--- + +import StateFeatures from '../../shared/_state-features.mdx' + +# Introduction +**Apollo Client** is much more than a simple GraphQL client. It offers a comprehensive caching API that leverages GraphQL's rich type information system (schema) to provide features like cache normalization, optimistic UI and more. + +**Apollo Orbit** aims to bridge the gap between **Apollo Client** and traditional state management libraries like NGXS, NgRx or Redux. + +It does so by providing the following features: + diff --git a/docs/docs/angular/state/local-state.mdx b/docs/docs/angular/state/local-state.mdx new file mode 100644 index 00000000..e55f4450 --- /dev/null +++ b/docs/docs/angular/state/local-state.mdx @@ -0,0 +1,294 @@ +--- +sidebar_position: 9 +title: 'Local State' +--- + +import Link from '@docusaurus/Link' + +## Prerequisites +This article assumes you're familiar with Apollo Client's local state management capabilities. + +## Overview +In this article, we'll go through a complete example of managing local state with **Apollo Orbit**, including setting up the cache, defining local state, and updating the cache. +In this example, we'll build a theme management feature that allows users to switch between light and dark themes. + + +## 1. Define theme `state` slice + +### Define local schema +First, we'll start by defining the local schema for our theme management feature, by creating a theme `state` slice and defining the schema in `typeDefs`. + +```typescript title="states/theme/theme.state.ts" +import { gql, state } from '@apollo-orbit/angular'; + +export const themeState = () => { + return state(descriptor => descriptor + .typeDefs(gql` + type Theme { + name: ThemeName! + displayName: String! + toggles: Int! + } + + enum ThemeName { + DARK_THEME + LIGHT_THEME + } + + extend type Query { + theme: Theme! + } + `) + ); +}; +``` + +Saving this file will trigger the codegen of `ThemeState` class in *`graphql/types.ts`* file as per our setup. + +### Define GraphQL query +Next, we'll define a GraphQL query to fetch the current theme from the cache. + +```graphql title="states/theme/gql/theme.graphql" +query Theme { + theme @client { + name + toggles + displayName + } +} +``` + +### Initialise cache +Next, we'll define `onInit` function to initialise the cache with the default theme. + +```typescript title="states/theme/theme.state.ts" +import { state } from '@apollo-orbit/angular'; +import { ThemeName, ThemeQuery } from '../../graphql/types'; + +export const themeState = () => { + return state(descriptor => descriptor + .onInit(cache => { + cache.writeQuery({ + ...new ThemeQuery(), + data: { + theme: { + __typename: 'Theme', + name: ThemeName.LightTheme, + toggles: 0, + displayName: 'Light' + } + } + }); + }) + ); +}; +``` + +### Define actions +Next, we'll create `theme.actions.ts` file to define actions for toggling the theme. + +```typescript title="states/theme/theme.actions.ts" +import { ThemeName } from '../../graphql/types'; + +export class ToggleThemeAction { + public static readonly type = '[Theme] ToggleTheme'; + + public constructor( + public readonly force?: ThemeName + ) { } +} + +export class ThemeToggledAction { + public static readonly type = '[Theme] ThemeToggled'; + + public constructor( + public readonly toggles: number + ) { } +} +``` + +### Define action handles +```typescript title="states/theme/theme.state.ts" +import { inject } from '@angular/core'; +import { state } from '@apollo-orbit/angular'; +import { ThemeName, ThemeQuery } from '../../graphql/types'; +import { NotificationService } from '../../services/notification.service'; +import { ThemeToggledAction, ToggleThemeAction } from './theme.actions'; + +export const themeState = () => { + const notificationService = inject(NotificationService); + + return state(descriptor => descriptor + .action(ToggleThemeAction, (action, { cache, dispatch }) => { + const result = cache.updateQuery(new ThemeQuery(), data => data + ? { + theme: { + ...data.theme, + toggles: data.theme.toggles + 1, + name: action.force ?? (data.theme.name === ThemeName.DarkTheme ? ThemeName.LightTheme : ThemeName.DarkTheme) + } + } + : data); + + return dispatch(new ThemeToggledAction(result?.theme.toggles as number)); + }) + .action(ThemeToggledAction, (action, context) => { + notificationService.success(`Theme was toggled ${action.toggles} time(s)`); + }) + ); +}; +``` + +### Define local field policies +Finally, we'll define local field policy for the `displayName` field. + +```typescript title="states/theme/theme.state.ts" +import { state } from '@apollo-orbit/angular'; +import { ThemeName } from '../../graphql/types'; + +export const themeState = () => { + return state(descriptor => descriptor + .typePolicies({ + Theme: { + fields: { + displayName: (existing, { readField }) => readField('name') === ThemeName.LightTheme ? 'Light' : 'Dark' + } + } + }) + ); +}; +``` + +## 2. Provide theme state +Next, we'll provide the `themeState` to `provideGraphQL` provider (or GraphQLModule). + +```typescript title="graphql/graphql.provider.ts" +import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core'; +import { provideApolloOrbit, withStates } from '@apollo-orbit/angular'; +// code-add-line +import { themeState } from '../states/theme/theme.state'; + +export function provideGraphQL(): EnvironmentProviders { + return makeEnvironmentProviders([ + provideApolloOrbit( + ... + // code-add-line + withStates(themeState) + ) + ]); +} +``` + +## 3. Create theme component +Finally, we'll bring it all together by defining our theme component which queries the cache and dispatches the relevant actions. + +```typescript title="theme/theme.component.ts" +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; +import { Apollo } from '@apollo-orbit/angular'; +import { map } from 'rxjs'; +import { ThemeQuery } from '../graphql/types'; +import { ToggleThemeAction } from '../states/theme/theme.actions'; + +@Component({ + selector: 'app-theme', + standalone: true, + imports: [AsyncPipe], + template: ` + @if (theme$ | async; as theme) { +
+ Current theme: + {{ theme.displayName }} +   + +
+ } + ` +}) +export class ThemeComponent { + protected readonly theme$ = this.apollo.cache.watchQuery(new ThemeQuery()).pipe( + map(({ data }) => data.theme) + ); + + public constructor( + private readonly apollo: Apollo + ) { } + + protected toggleTheme(): void { + this.apollo.dispatch(new ToggleThemeAction()); + } +} +``` + +## Summary +There you have it! we've created our first fully local state managed feature with **Apollo Orbit**. + +
+ Here's the complete `theme.state.ts` code for reference + ```typescript title="states/theme/theme.state.ts" + import { inject } from '@angular/core'; + import { gql, state } from '@apollo-orbit/angular'; + import { ThemeName, ThemeQuery } from '../../graphql/types'; + import { NotificationService } from '../../services/notification.service'; + import { ThemeToggledAction, ToggleThemeAction } from './theme.actions'; + + export const themeState = () => { + const notificationService = inject(NotificationService); + + return state(descriptor => descriptor + .typeDefs(gql` + type Theme { + name: ThemeName! + displayName: String! + toggles: Int! + } + + enum ThemeName { + DARK_THEME + LIGHT_THEME + } + + extend type Query { + theme: Theme! + } + `) + .typePolicies({ + Theme: { + fields: { + displayName: (existing, { readField }) => readField('name') === ThemeName.LightTheme ? 'Light' : 'Dark' + } + } + }) + .onInit(cache => { + cache.writeQuery({ + ...new ThemeQuery(), + data: { + theme: { + __typename: 'Theme', + name: ThemeName.LightTheme, + toggles: 0, + displayName: 'Light' + } + } + }); + }) + .action(ToggleThemeAction, (action, { cache, dispatch }) => { + const result = cache.updateQuery(new ThemeQuery(), data => data + ? { + theme: { + ...data.theme, + toggles: data.theme.toggles + 1, + name: action.force ?? (data.theme.name === ThemeName.DarkTheme ? ThemeName.LightTheme : ThemeName.DarkTheme) + } + } + : data); + + return dispatch(new ThemeToggledAction(result?.theme.toggles as number)); + }) + .action(ThemeToggledAction, (action, context) => { + notificationService.success(`Theme was toggled ${action.toggles} time(s)`); + }) + ); + }; + ``` +
diff --git a/docs/docs/angular/state/mutation-update.mdx b/docs/docs/angular/state/mutation-update.mdx new file mode 100644 index 00000000..331298b4 --- /dev/null +++ b/docs/docs/angular/state/mutation-update.mdx @@ -0,0 +1,107 @@ +--- +sidebar_position: 3 +title: 'mutationUpdate' +--- + +import Link from '@docusaurus/Link' + +## Overview +`mutationUpdate` is analogous to `update` option passed to [`mutate`](../fetching/mutations#mutate) method in `Apollo`. +It is used to update the cache following the execution of a mutation. + +## Usage +As stated previously in the [`mutations guid`](../fetching/mutations#cache-normalisation), unlike `UpdateBookMutation`, updating the cache after executing `AddBookMutation` requires manual intervention. + +Let's build on the same example used in [fetching guide](../fetching/queries) to demonstrate how `mutationUpdate` can be used to update the cache after executing `AddBookMutation`. + +In this example, we have a library management app. A book is present in two lists stored in the cache, one for all books in the library and one for books written by an author. + +First we add the mutation to `book.graphql` +```graphql title="library/gql/book.graphql" +mutation AddBook($book: BookInput!) { + addBook(book: $book) { + ...BookFragment + } +} +``` + +Then, we define two state slices, one for managing `book` state and one for `author` state and add them to **Apollo Orbit** module as [demonstrated previously](./state-slice#adding-state). + +### `bookState` +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/angular'; +import { AddBookMutation, BooksQuery } from '../../graphql/types'; + +export const bookState = state(descriptor => descriptor + .mutationUpdate(AddBookMutation, (cache, info) => { + const addBook = info.data?.addBook; + if (!addBook) return; + + cache.updateQuery(new BooksQuery(), data => data ? { books: [...data.books, addBook] } : data); + }) +); +``` + +### `authorState` +```typescript title="library/states/author.state.ts" +import { identifyFragment, state } from '@apollo-orbit/angular'; +import { AddBookMutation, AuthorFragmentDoc } from '../../graphql/types'; + +export const authorState = state(descriptor => descriptor + .mutationUpdate(AddBookMutation, (cache, info) => { + const addBook = info.data?.addBook; + if (!addBook) return; + + const authorId = info.variables?.book.authorId as string; + cache.updateFragment( + identifyFragment(AuthorFragmentDoc, authorId), + author => author ? ({ ...author, books: [...author.books, addBook] }) : author + ); + }) +); +``` + +`info` argument is of type `MutationInfo` and all logic in `mutationUpdate` handler is type-safe. + +`identifyFragment` is a helper function provided by **Apollo Orbit** for returning a fragment object that uniquely identifies a fragment in the cache. + +### Execute mutation +```typescript title="library/books.component.ts" +export class BooksComponent { + public constructor( + private readonly apollo: Apollo, + ) { } + + protected addBook(book: BookInput): void { + // code-add-line + this.apollo.mutate(new AddBookMutation({ book })).subscribe(); + // code-remove-start + this.apollo.mutate({ + ...new AddBookMutation({ book }), + update(cache, result) { + const addBook = result.data?.addBook; + if (!addBook) return; + + // Update full list of books + cache.updateQuery(new BooksQuery(), data => data ? { books: [...data.books, addBook] } : data); + + // Update author's list of books + cache.updateFragment( + identifyFragment(AuthorFragmentDoc, book.authorId), + author => author ? ({ ...author, books: [...author.books, addBook] }) : author + ); + } + }).subscribe(); + // code-remove-end + } +} +``` + +Now, when a component calls `this.apollo.mutate(new AddBookMutation({ book })).subscribe()` the above mutation update functions are automatically executed and the UI displaying books and author books is updated. + +The example above demonstrates how the same mutation can be handled independently by different states, achieving separation of concerns (SoC) and complete decoupling between component and state logic. + +:::note +`mutationUpdate` also accepts the name of the mutation as a `string` argument. This can be used in projects that do not have codegen setup. +So the above code can be updated to `.mutationUpdate('AddBook', (cache, info) =>` and the rest of the code remains the same, except it won't be type-safe. +::: diff --git a/docs/docs/angular/state/optimistic-response.mdx b/docs/docs/angular/state/optimistic-response.mdx new file mode 100644 index 00000000..36cf5335 --- /dev/null +++ b/docs/docs/angular/state/optimistic-response.mdx @@ -0,0 +1,33 @@ +--- +sidebar_position: 5 +title: 'optimisticResponse' +--- + +import Link from '@docusaurus/Link' + +## Overview +`optimisticResponse` is analogous to `optimisticResponse` option passed to [`mutate`](../fetching/mutations#mutate) method in `Apollo`. +It enables optimistic UI, allowing for immediate UI updates before the server responds. + +## Usage +Let's extend `bookState` to return an optimistic response when `AddBookMutation` is executed. + +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/angular'; +import shortid from 'shortid'; +import { AddBookMutation } from '../../graphql/types'; + +export const bookState = state(descriptor => descriptor + .optimisticResponse(AddBookMutation, ({ book }) => ({ + __typename: 'Mutation' as const, + addBook: { + __typename: 'Book' as const, + id: shortid.generate(), + genre: book.genre ?? null, + name: book.name, + authorId: book.authorId + } + })) +); + +``` diff --git a/docs/docs/angular/state/refetch-queries.mdx b/docs/docs/angular/state/refetch-queries.mdx new file mode 100644 index 00000000..4fa9bf18 --- /dev/null +++ b/docs/docs/angular/state/refetch-queries.mdx @@ -0,0 +1,38 @@ +--- +sidebar_position: 6 +title: 'refetchQueries' +--- + +import Link from '@docusaurus/Link' + +## Overview +`refetchQueries` is analogous to `refetchQueries` option passed to [`mutate`](../fetching/mutations#mutate) method in `Apollo`. +It enables refetching queries after a mutation has executed. + +## Usage +Let's modify `bookState` to refetch the full list of books from the server instead of modifying the cache on the client when `AddBookMutation` is executed. + +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/angular'; +import { AddBookMutation, BooksQuery } from '../../graphql/types'; + +export const bookState = state(descriptor => descriptor + // code-add-line + .refetchQueries(AddBookMutation, info => [new BooksQuery()]) + // code-remove-start + .mutationUpdate(AddBookMutation, (cache, info) => { + const addBook = info.data?.addBook; + if (!addBook) return; + cache.updateQuery(new BooksQuery(), data => data ? { books: [...data.books, addBook] } : data); + }) + // code-remove-end +); + +``` + +Now, whenever `AddBookMutation` is executed, `BooksQuery` will be refetched from the server and any components watching `BooksQuery` will be updated with the new data. + +## API +```typescript +type RefetchQueryDescriptor = Array | 'all' | 'active'; +``` diff --git a/docs/docs/angular/state/resolver.mdx b/docs/docs/angular/state/resolver.mdx new file mode 100644 index 00000000..ed78a695 --- /dev/null +++ b/docs/docs/angular/state/resolver.mdx @@ -0,0 +1,83 @@ +--- +sidebar_position: 7 +title: 'resolver' +--- + +import Link from '@docusaurus/Link' + +## Overview +`resolver` is analogous to `resolvers` option passed to `ApolloOptions`. +It allows implementing local resolvers. + +:::note +It is recommended to use field policies instead of local resolvers as described in Local-only fields. +Local resolver support will be moved out of the core of Apollo Client in a future major release. The same or similar functionality will be available via `ApolloLink`. +::: + +## Usage +Let's modify `bookState` to to return `displayName` for each `Book` which is a concatenation of the book name and genre. + +```typescript title="library/states/book.state.ts" +import { gql, state } from '@apollo-orbit/angular'; +import { Book } from '../../graphql/types'; + +export const bookState = state(descriptor => descriptor + .typeDefs(gql` + extend type Book { + displayName: String! + } + `) + .resolver(['Book', 'displayName'], (rootValue: Book, args, context, info): Book['displayName'] => { + const { name, genre } = rootValue; + return typeof genre === 'string' ? `${name} (${genre})` : name; + }) +); +``` + +Since `*.state.ts` files are included in our [codegen configuration](../get-started/setup-environment#setup-apollo-orbitcodegen), defining local schema using `typeDefs` will get automatically picked up by codegen. + +Next, we update `book.graphql` to include `displayName` field: +```graphql title="library/gql/book.graphql" +fragment BookFragment on Book { + id + name + genre + authorId + // code-add-line + displayName @client +} + +... +``` + +Now, `displayName` can be used in the component to display the book name along with genre. + +## API +`resolve` methods can return a value, promise or observable. + +## Local-only fields (Recommended) +In order to implement the same functionality using field policies, we can modify `bookState` as follows: + +```typescript title="library/states/book.state.ts" +import { gql, state } from '@apollo-orbit/angular'; +import { Book } from '../../graphql/types'; + +export const bookState = state(descriptor => descriptor + .typeDefs(gql` + extend type Book { + displayName: String! + } + `) + .typePolicies({ + Book: { + fields: { + displayName: (_existing, { readField }) => { + const name = readField('name'); + const genre = readField('genre'); + return typeof genre === 'string' ? `${name} (${genre})` : name; + } + } + } + }) +); +``` diff --git a/docs/docs/angular/state/state-slice.mdx b/docs/docs/angular/state/state-slice.mdx new file mode 100644 index 00000000..53aa447a --- /dev/null +++ b/docs/docs/angular/state/state-slice.mdx @@ -0,0 +1,144 @@ +--- +sidebar_position: 2 +title: 'state' +--- + +import Link from '@docusaurus/Link' + +## Overview +`state` function is used to create a state slice. + +`state` provides a `descriptor` which can be used to define one of the following: +* [clientId](../advanced/multi-client) +* typeDefs +* typePolicies +* possibleTypes +* [onInit](#oninit) +* [mutationUpdate](./mutation-update) +* [effect](./effect) +* [optimisticResponse](./optimistic-response) +* [refetchQueries](./refetch-queries) +* [resolver](./resolver) +* [action](./action) + +## Defining state +Defining a state slice is as simple as calling `state` function. + +```typescript title="app/states/theme/theme.state.ts" +export const themeState = state(descriptor => ...) +``` + +A state can also be defined as factory function that is executed in an injection context. It has access to `inject()` via the `EnvironmentInjector` from which they were configured. + +```typescript title="app/states/theme/theme.state.ts" +export const themeState = () => { + const notificationService = inject(NotificationService); + return state(descriptor => ...); +} +``` + +:::note +A `state` slice file name should be in the format `.state.ts`, this is a requirement as per our [environment setup](../get-started/setup-environment). +`` is singular by convention for simplicity. +::: + +## Adding state +Once a `state` slice is created it needs to be provided to the Angular DI system using one of the following methods: + +### Root injector +To add a state to the root injector, use the `withStates` feature with `provideApolloOrbit`. +For example `themeState` can be provided as follows: + +```typescript +import { themeState } from '../states/theme/theme.state'; + +... + +providers: [ + provideApolloOrbit( + withApolloOptions(...), + withHttpLink(), + // code-add-line + withStates(themeState) + ) +] +``` + +### Module injector +Typically, an **Angular** application is made up of multiple modules, each feature may have its own module and its own state logic. +States can be added to these child modules, using the `provideStates` function. + +```typescript title="library/library.module.ts" +// code-add-line +import { provideStates } from '@apollo-orbit/angular'; +import { authorState } from './states/author.state'; +import { bookState } from './states/book.state'; + +... + +@NgModule({ + providers: [ + // code-add-line + provideStates(authorState, bookState) + ] + ... +}) +export class LibraryModule { } +``` + +### Route injector +States can also be provided as part of a route's configuration: + +```typescript title="library/library.routes.ts" +import { Routes } from '@angular/router'; +import { LibraryComponent } from './library.component.ts'; +// code-add-start +import { provideStates } from '@apollo-orbit/angular'; +import { authorState } from './library/states/author.state'; +import { bookState } from './library/states/book.state'; +// code-add-end + +export const LIBRARY_ROUTES: Routes = [ + { + path: '', + component: LibraryComponent, + // code-add-start + providers: [ + provideStates(authorState, bookState) + ] + // code-add-end + } +]; +``` + + +```typescript title="app.routes.ts" +import { Routes } from '@angular/router'; + +export const LIBRARY_ROUTES: Routes = [ + { + path: 'library', + loadChildren: () => import('./library/library.routes').then(m => m.LIBRARY_ROUTES) + } +]; +``` + +:::warning +Route provided states should only handle mutations and actions that are defined within the route's module/component or any of its children modules/components. +::: + +## `onInit` +`onInit` defines a callback that is invoked when the state is initialised. + +```typescript title="app/states/theme/theme.state.ts" +export const themeState = state(descriptor => descriptor + .onInit(cache => cache.writeQuery(...)) +); +``` + +`onInit` callback accepts the cache instance associated with the state and can be used to initialise cache data for that state. More on this in [local state guide](./local-state). + +`onInit` callback is called only once when the state is initialised. This can occur at one of the following times: +* When the Apollo instance associated with the state is first injected into the application. +* When the lazy-loaded module that provides the state is loaded. +* When the route that provides the state is first activated. diff --git a/docs/docs/angular/testing/_category_.json b/docs/docs/angular/testing/_category_.json new file mode 100644 index 00000000..845cc31b --- /dev/null +++ b/docs/docs/angular/testing/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 8, + "label": "Testing", + "collapsible": true, + "collapsed": false +} diff --git a/docs/docs/angular/testing/index.mdx b/docs/docs/angular/testing/index.mdx new file mode 100644 index 00000000..57ecca36 --- /dev/null +++ b/docs/docs/angular/testing/index.mdx @@ -0,0 +1,169 @@ +import Link from '@docusaurus/Link'; + +# Testing + +## Overview +**Apollo Client** provides some useful testing utilities out of the box in the form of mock links that can be imported from `@apollo/client/testing/core`. + +Testing **Apollo Orbit** code is as simple as wrapping those utilities in an **Angular** module and using them in our tests. + +The following example uses Jest as the testing framework, but the same principles can be applied to other testing frameworks. + +## Writing unit tests +Let's take the following component for example: +```typescript title="book.component.ts" +@Component({ + template: ` + @if (bookQuery | async; as result) { + @if (result.data) {
{{ result.data.book.name }}
} + @if (result.error) {
{{ result.error.message }}
} + } + @if (newBookSubscription | async; as result) { + @if (result.data) {
{{ result.data.newBook.name }}
} + } + ` +}) +class BookComponent { + protected readonly bookQuery = this.apollo.watchQuery(new BookQuery({ id: '1' })); + protected readonly newBookSubscription = this.apollo.subscribe(new NewBookByAuthorSubscription({ id: '1' })); + + public constructor( + private readonly apollo: Apollo + ) { } +} +``` + +In order to write unit tests for the above component, we first start by creating our `ApolloMockModule` which will be shared across all tests in the application and can be customised to suit your application's needs. +```typescript title="apollo-mock.module.ts" +import { NgModule, inject } from '@angular/core'; +import { ApolloOptions, InMemoryCache, provideApolloOrbit, withApolloOptions } from '@apollo-orbit/angular'; +import { split } from '@apollo/client/core'; +import { MockLink, MockSubscriptionLink } from '@apollo/client/testing/core'; +import { getMainDefinition } from '@apollo/client/utilities'; + +@NgModule({ + providers: [ + provideApolloOrbit( + withApolloOptions((): ApolloOptions => ({ + cache: new InMemoryCache(), + link: split( + ({ query }) => { + const definition = getMainDefinition(query); + return ( + definition.kind === 'OperationDefinition' && + definition.operation === 'subscription' + ); + }, + inject(MockSubscriptionLink), + inject(MockLink) + ) + })) + ), + { provide: MockLink, useValue: new MockLink([]) }, + { provide: MockSubscriptionLink, useValue: new MockSubscriptionLink() } + ] +}) +export class ApolloMockModule { } +``` + +Next, we write our unit tests by setting up a `TestBed` that imports `BookComponent` and the `ApolloMockModule` and we get references to `MockLink` & `MockSubscriptionLink`: +```typescript title="book.component.spec.ts" +import { fakeAsync, TestBed, tick } from '@angular/core/testing'; +import { MockLink, MockSubscriptionLink } from '@apollo/client/testing/core'; +import { GraphQLError } from 'graphql'; +import { BookComponent } from './book.component'; +import { BookQuery, BookQueryData, NewBookByAuthorSubscriptionData } from './graphql'; + +describe('BookComponent', () => { + let mockLink: MockLink; + let mockSubscriptionLink: MockSubscriptionLink; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [BookComponent], + imports: [ApolloMockModule] + }); + + // Set mock link references to be used in tests. + mockLink = TestBed.inject(MockLink); + mockSubscriptionLink = TestBed.inject(MockSubscriptionLink); + }); + + it('should render component with query result', async () => { + // Mock successful query response + mockLink.addMockedResponse({ + request: new BookQuery({ id: '1' }), + result: { + data: { + book: { __typename: 'Book', id: '1', name: 'Book 1', genre: 'Fiction', authorId: '1' } + } as BookQueryData + } + }); + + const fixture = TestBed.createComponent(BookComponent); + fixture.autoDetectChanges(); + await fixture.whenStable(); + expect(fixture.nativeElement.querySelector('#query-result').textContent).toEqual('Book 1'); + }); + + it('should render component with query error', async () => { + // Mock error query response + mockLink.addMockedResponse({ + request: new BookQuery({ id: '1' }), + result: { + errors: [new GraphQLError('Book does not exist')] + } + }); + + const fixture = TestBed.createComponent(BookComponent); + fixture.autoDetectChanges(); + await fixture.whenStable(); + expect(fixture.nativeElement.querySelector('#query-error').textContent).toEqual('Book does not exist'); + }); + + // use fakeAsync for fine grained control over the clock. + it('should render component with subscription result', fakeAsync(() => { + const fixture = TestBed.createComponent(BookComponent); + + // required to prevent warnings about missing mocked responses. + mockLink.addMockedResponse({ + request: new BookQuery({ id: '1' }), + result: { + data: { + book: { __typename: 'Book', id: '1', name: 'Book 1', genre: 'Fiction', authorId: '1' } + } as BookQueryData + } + }); + + fixture.detectChanges(); + + mockSubscriptionLink.simulateResult({ + result: { + data: { + newBook: { __typename: 'Book', id: '1', name: 'Book 1.1', genre: 'Fiction', authorId: '1' } + } as NewBookByAuthorSubscriptionData + } + }); + + tick(); + fixture.detectChanges(); + + expect(fixture.nativeElement.querySelector('#subscription-result').textContent).toEqual('Book 1.1'); + + mockSubscriptionLink.simulateResult({ + delay: 10, + result: { + data: { + newBook: { __typename: 'Book', id: '2', name: 'Book 2', genre: 'Fiction', authorId: '1' } + } as NewBookByAuthorSubscriptionData + } + }, /* complete subscription */ true); + + + tick(10); // move clock forward by 10ms to match the simulated subscription result delay. + fixture.detectChanges(); + + expect(fixture.nativeElement.querySelector('#subscription-result').textContent).toEqual('Book 2'); + })); +}); +``` diff --git a/docs/docs/react/get-started.mdx b/docs/docs/react/get-started.mdx new file mode 100644 index 00000000..f7439b95 --- /dev/null +++ b/docs/docs/react/get-started.mdx @@ -0,0 +1,105 @@ +--- +sidebar_position: 2 +--- + +import Link from '@docusaurus/Link'; +import TabItem from '@theme/TabItem'; +import Tabs from '@theme/Tabs'; +import CodegenTip from '../shared/_codegen-tip.mdx'; + +# Getting Started + +## Prerequisites +In order to use **Apollo Orbit**, you'll need a **React** project setup with **Apollo Client**. +If not, please follow the Apollo Client setup guide before proceeding. + +## Install `@apollo-orbit/react` + + + + ```bash + yarn add @apollo-orbit/react + ``` + + + ```bash + npm install @apollo-orbit/react + ``` + + + +## Setup GraphQL Codegen + + +You can follow GraphQL-Codegen React guide to setup codegen for your project. + +Then, update *codegen.ts* to include state files in the schema: + +```typescript title="codegen.ts" +import { CodegenConfig } from '@graphql-codegen/cli'; + +const config: CodegenConfig = { + schema: [ + 'http://localhost:4000/graphql', + // code-add-start + { + './src/**/*.state.ts': { + noRequire: true + } + } + // code-add-end + ], + ... +}; + +export default config; +``` + +## Setup GraphQL syntax highlighting & auto-complete + +### Install VSCode extension +GraphQL: Language Feature Support + +### Create graphql.config.js +Create the following file in the root folder of your project. + +```javascript title="graphql.config.js" +module.exports = { + schema: [ + 'http://localhost:4000/graphql', + // code-add-line + 'src/**/*.state.ts' + ], + documents: [ + 'src/**/*.graphql' + ], + extensions: { + customDirectives: [ + 'directive @client on FIELD' // required for Apollo Client local schema + ] + } +}; +``` + +If you already have the extension setup in your project, make sure to include state files in the schema by adding the highlighted line above. + +For more information, visit configuration documentation + +## Provide states +Finally, we can provide states to **Apollo Orbit** by adding `ApolloOrbitProvider` under `ApolloProvider`: + +```tsx title="index.tsx" +import { themeState } from './states/theme.state'; + +root.render( + + // code-add-line + + + // code-add-line + + , +); +``` + +The next section will cover in detail how to create and provide states in your **React** application. diff --git a/docs/docs/react/index.mdx b/docs/docs/react/index.mdx new file mode 100644 index 00000000..c339b2f0 --- /dev/null +++ b/docs/docs/react/index.mdx @@ -0,0 +1,16 @@ +--- +sidebar_position: 1 +--- + +import Link from '@docusaurus/Link' +import StateFeatures from '../shared/_state-features.mdx' + +# Introduction +**Apollo Orbit** is an **Apollo Client** modular state management abstraction for **React**. + +**Apollo Client** is much more than a simple GraphQL client, it offers a comprehensive caching API that leverages GraphQL's rich type information system (schema) to provide features like cache normalization, optimistic UI and more. + +**Apollo Orbit** aims to bridge the gap between **Apollo Client** and traditional state management libraries like Redux. + +It does so by providing the following features: + diff --git a/docs/docs/react/state/_category_.json b/docs/docs/react/state/_category_.json new file mode 100644 index 00000000..6392aa88 --- /dev/null +++ b/docs/docs/react/state/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 3, + "label": "State", + "collapsible": true, + "collapsed": false +} diff --git a/docs/docs/react/state/action.mdx b/docs/docs/react/state/action.mdx new file mode 100644 index 00000000..2e792a33 --- /dev/null +++ b/docs/docs/react/state/action.mdx @@ -0,0 +1,101 @@ +--- +sidebar_position: 7 +title: 'action' +--- + +import EventCommand from '../../shared/_event-command.mdx'; + +## Overview +Actions are simple objects that have a unique `type` property and, optionally, additional information. + +Actions generally take one of two forms: +* **Command**: A verb. For example, `theme/toggle` +* **Event**: Past tense. For example, `library/bookSelected` + + + +## Defining an action +An action is required to have a unique `type`. By convention, `type` follows the format `domain/action` to uniquely identify the action throughout the app. + +```typescript title="states/theme/theme.actions.ts" +import { ThemeName } from '../../graphql'; + +export interface ToggleThemeAction { + type: 'theme/toggle'; + force?: ThemeName; +} +``` + +## Dispatching an action +The `useDispatch()` hook returns a reference to a `dispatch` function that can be used to dispatch actions. For example: + +```tsx +import { useDispatch } from '@apollo-orbit/react'; +import { useQuery } from '@apollo/client'; +import { ThemeDocument } from './graphql'; +import { ToggleThemeAction } from './states/theme/theme.actions'; + +export function Theme() { + // code-add-line + const dispatch = useDispatch(); + const { data: themeData } = useQuery(ThemeDocument); + + return ( +
+ Current theme: + {themeData?.theme.displayName} + // code-add-line + +
+ ); +} +``` + +`dispatch` returns a `Promise` which completes when all states have completed handling the action. If any of the `action` handlers throws an error, then the promise is rejected with the error. This can be useful for executing some logic only after an action has completed, especially if some of the handlers are asynchronous. + +## Handling an action +`action` is used in a `state` slice to define an action handler. + +An `action` handler can be synchronous or asynchronous and can be used to update the cache, execute a side-effect, or perform any other logic. + +Action handlers can be chained together to form a sequence of actions that are executed in order, by using the `dispatch` function which is available in the `ActionContext` parameter. + +### Usage +Let's look at an example of how a `LogoutUserAction` can be handled asynchronously in the **user** `state` and chained with another action handler. + +```typescript title="states/user/user.state.ts" +export const userState = state(descriptor => descriptor + .action('user/logout', async (action, { dispatch }) => { + await userSessionApi.endUserSession(); + return dispatch({ type: 'user/logged-out' }); + }) + .action('user/logged-out', (action, { cache }) => { + cache.writeQuery({ query: CurrentUserDocument, data: { currentUser: null } }); + }) +); +``` + +When `dispatch({ type: 'user/logout' })` is called from a component, it will: +1. First, invoke the `LogoutUserAction` handler. +2. Then, invoke the `UserLoggedOutAction` handler. +3. Finally, resolve the promise returned by `dispatch({ type: 'user/logout' })` when both handlers have finished executing. + +:::note +It is important to return the promise from an asynchronous action handler to ensure that the promise returned by `dispatch` completes only after the action handler has finished executing. +::: + +### API +```typescript +type ActionFn = (action: T, context: ActionContext) => void | Promise; + +interface Action { + type: string; +} + +interface ActionContext { + cache: ApolloCache; + dispatch(action: TAction): Promise; +} +``` + +In the next page we will see a complete example of how actions and their handlers can be used for managing [local state](./local-state). diff --git a/docs/docs/react/state/effect.mdx b/docs/docs/react/state/effect.mdx new file mode 100644 index 00000000..2ad4a33b --- /dev/null +++ b/docs/docs/react/state/effect.mdx @@ -0,0 +1,27 @@ +--- +sidebar_position: 3 +title: 'effect' +--- + +## Overview +`effect` is used to execute a side-effect after a mutation has completed whether successful or not. + +## Usage +Let's extend `bookState` to display a notification when `AddBook` mutation is executed. + +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/react'; +import { AddBookDocument } from '../../graphql'; +import { notification } from '../../ui/notification'; + +export const bookState = state(descriptor => descriptor + ... + .effect(AddBookDocument, info => { + if (info.data?.addBook) { + notification.success(`New book '${info.data.addBook.name}' was added successfully.`); + } else if (info.error) { + notification.error(`Failed to add book '${info.variables?.book.name}': ${info.error.message}`); + } + }) +); +``` diff --git a/docs/docs/react/state/local-state.mdx b/docs/docs/react/state/local-state.mdx new file mode 100644 index 00000000..6a524194 --- /dev/null +++ b/docs/docs/react/state/local-state.mdx @@ -0,0 +1,267 @@ +--- +sidebar_position: 8 +title: 'Local State' +--- + +import Link from '@docusaurus/Link' + +## Prerequisites +This article assumes you're familiar with Apollo Client's local state management capabilities. + +## Overview +In this article, we'll go through a complete example of managing local state with **Apollo Orbit**, including setting up the cache, defining local state, and updating the cache. +In this example, we'll build a theme management feature that allows users to switch between light and dark themes. + + +## 1. Define theme `state` slice + +### Define local schema +First, we'll start by defining the local schema for our theme management feature, by creating a theme `state` slice and defining the schema in `typeDefs`. + +```typescript title="states/theme/theme.state.ts" +import { state } from '@apollo-orbit/react'; +import { gql } from '@apollo/client'; + +export const themeState = () => { + return state(descriptor => descriptor + .typeDefs(gql` + type Theme { + name: ThemeName! + displayName: String! + toggles: Int! + } + + enum ThemeName { + DARK_THEME + LIGHT_THEME + } + + extend type Query { + theme: Theme! + } + `) + ); +}; +``` + +Saving this file will trigger the codegen as per our setup. + +### Define GraphQL query +Next, we'll define a GraphQL query to fetch the current theme from the cache. + +```graphql title="states/theme/gql/theme.graphql" +query Theme { + theme @client { + name + toggles + displayName + } +} +``` + +### Initialise cache +Next, we'll define `onInit` function to initialise the cache with the default theme. + +```typescript title="states/theme/theme.state.ts" +import { state } from '@apollo-orbit/react'; +import { ThemeDocument, ThemeName } from '../../graphql'; + +export const themeState = () => { + return state(descriptor => descriptor + .onInit(cache => { + cache.writeQuery({ + query: ThemeDocument, + data: { + theme: { + __typename: 'Theme', + name: ThemeName.LightTheme, + toggles: 0, + displayName: 'Light' + } + } + }); + }) + ); +}; +``` + +### Define actions +Next, we'll create `theme.actions.ts` file to define actions for toggling the theme. + +```typescript title="states/theme/theme.actions.ts" +import { ThemeName } from '../../graphql'; + +export interface ToggleThemeAction { + type: 'theme/toggle'; + force?: ThemeName; +} + +export interface ThemeToggledAction { + type: 'theme/toggled'; + toggles: number; +} +``` + +### Define action handles +```typescript title="states/theme/theme.state.ts" +import { state } from '@apollo-orbit/react'; +import { ThemeDocument, ThemeName } from '../../graphql'; +import { notification } from '../../ui/notification'; +import { ThemeToggledAction, ToggleThemeAction } from './theme.actions'; + +export const themeState = state(descriptor => descriptor + .action( + 'theme/toggle', + (action, { cache, dispatch }) => { + const result = cache.updateQuery({ query: ThemeDocument }, data => data + ? { + theme: { + ...data.theme, + toggles: data.theme.toggles + 1, + name: action.force ?? data.theme.name === ThemeName.DarkTheme ? ThemeName.LightTheme : ThemeName.DarkTheme + } + } + : data); + + return dispatch({ type: 'theme/toggled', toggles: result?.theme.toggles as number }); + }) + .action( + 'theme/toggled', + action => { + notification.success(`Theme was toggled ${action.toggles} time(s)`); + }) +); + +``` + +### Define local field policies +Finally, we'll define local field policy for the `displayName` field. + +```typescript title="states/theme/theme.state.ts" +import { state } from '@apollo-orbit/react'; +import { ThemeName } from '../../graphql'; + +export const themeState = state(descriptor => descriptor + .typePolicies({ + Theme: { + fields: { + displayName: (existing, { readField }) => readField('name') === ThemeName.LightTheme ? 'Light' : 'Dark' + } + } + }) +); +``` + +## 2. Provide theme state +Next, we'll add `themeState` to `ApolloOrbitProvider` `states`. + +```tsx title="index.tsx" +import { themeState } from './states/theme.state'; + +root.render( + + // code-add-line + + + + , +); +``` + +## 3. Create theme component +Finally, we'll bring it all together by defining our theme component which queries the cache and dispatches the relevant actions. + +```tsx title="Theme.tsx" +import { useDispatch } from '@apollo-orbit/react'; +import { useQuery } from '@apollo/client'; +import { ThemeDocument } from './graphql'; +import { ToggleThemeAction } from './states/theme/theme.actions'; + +export function Theme() { + const dispatch = useDispatch(); + const { data: themeData } = useQuery(ThemeDocument); + + return ( +
+ Current theme: + {themeData?.theme.displayName} + +
+ ); +} +``` + +## Summary +There you have it! we've created our first fully local state managed feature with **Apollo Orbit**. + +
+ Here's the complete `theme.state.ts` code for reference + ```typescript title="states/theme/theme.state.ts" + import { state } from '@apollo-orbit/react'; + import { gql } from '@apollo/client'; + import { ThemeDocument, ThemeName } from '../../graphql'; + import { notification } from '../../ui/notification'; + import { ThemeToggledAction, ToggleThemeAction } from './theme.actions'; + + export const themeState = state(descriptor => descriptor + .typeDefs(gql` + type Theme { + name: ThemeName! + displayName: String! + toggles: Int! + } + + enum ThemeName { + DARK_THEME + LIGHT_THEME + } + + extend type Query { + theme: Theme! + } + `) + + .typePolicies({ + Theme: { + fields: { + displayName: (existing, { readField }) => readField('name') === ThemeName.LightTheme ? 'Light' : 'Dark' + } + } + }) + + .onInit(cache => cache.writeQuery({ + query: ThemeDocument, + data: { + theme: { + __typename: 'Theme', + name: ThemeName.LightTheme, + toggles: 0, + displayName: 'Light' + } + } + })) + + .action( + 'theme/toggle', + (action, { cache, dispatch }) => { + const result = cache.updateQuery({ query: ThemeDocument }, data => data + ? { + theme: { + ...data.theme, + toggles: data.theme.toggles + 1, + name: action.force ?? data.theme.name === ThemeName.DarkTheme ? ThemeName.LightTheme : ThemeName.DarkTheme + } + } + : data); + + return dispatch({ type: 'theme/toggled', toggles: result?.theme.toggles as number }); + }) + + .action( + 'theme/toggled', + action => { + notification.success(`Theme was toggled ${action.toggles} time(s)`); + }) + ); +``` +
diff --git a/docs/docs/react/state/mutation-update.mdx b/docs/docs/react/state/mutation-update.mdx new file mode 100644 index 00000000..79c907e9 --- /dev/null +++ b/docs/docs/react/state/mutation-update.mdx @@ -0,0 +1,136 @@ +--- +sidebar_position: 2 +title: 'mutationUpdate' +--- + +import Link from '@docusaurus/Link' + +## Overview +`mutationUpdate` is analogous to the `update` option passed to `useMutation`. +It is used to update the cache following the execution of a mutation. + +## Usage +In this example, we have a book library management app. A book is present in two lists stored in the cache, one for all books in the library and one for books written by an author. + +First we add the mutation to `book.graphql` +```graphql title="library/gql/book.graphql" +fragment BookFragment on Book { + id + name + genre + authorId +} + +query Books($name: String, $genre: String, $authorId: ID) { + books(name: $name, genre: $genre, authorId: $authorId) { + ...BookFragment + } +} + +// code-add-start +mutation AddBook($book: BookInput!) { + addBook(book: $book) { + ...BookFragment + } +} +// code-add-end +``` + +Then, we define two state slices, one for managing `book` state and one for `author` state: + +### `bookState` +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/react'; +import { AddBookDocument, BooksDocument } from '../../graphql'; + +export const bookState = state(descriptor => descriptor + .mutationUpdate(AddBookDocument, (cache, info) => { + const addBook = info.data?.addBook; + if (!addBook) return; + + cache.updateQuery({ query: BooksDocument }, data => data ? { books: [...data.books, addBook] } : data); + }) +); +``` + +### `authorState` +```typescript title="library/states/author.state.ts" +import { identifyFragment, state } from '@apollo-orbit/react'; +import { AddBookDocument, AuthorFragmentDoc } from '../../graphql'; + +export const authorState = state(descriptor => descriptor + .mutationUpdate(AddBookDocument, (cache, info) => { + const addBook = info.data?.addBook; + if (!addBook) return; + + const authorId = info.variables?.book.authorId as string; + cache.updateFragment( + identifyFragment(AuthorFragmentDoc, authorId), + author => author ? ({ ...author, books: [...author.books, addBook] }) : author + ); + }) +); +``` + +`info` argument is of type `MutationInfo` and all logic in `mutationUpdate` handler is type-safe. + +`identifyFragment` is a helper function provided by **Apollo Orbit** for returning a fragment object that uniquely identifies a fragment in the cache. + +### Provide states +Then, we add the states to `ApolloOrbitProvider` as [demonstrated previously](./state-slice#adding-state): +```tsx title="index.tsx" +import { authorState } from './library/states/author.state'; +import { bookState } from './library/states/book.state'; + +root.render( + + // code-add-line + + + + , +); +``` + +### Execute mutation +```tsx title="library/Books.tsx" +export function Books() { + const [addBook] = useMutation(AddBookDocument); + + const handleAddBook = (book: BookInput) => { + addBook({ + variables: { book }, + // code-remove-start + update(cache, result) { + const addBook = result.data?.addBook; + if (!addBook) return; + + // Update full list of books + cache.updateQuery({ query: BooksDocument }, data => data ? { books: [...data.books, addBook] } : data); + + // Update author's list of books + cache.updateFragment( + identifyFragment(AuthorFragmentDoc, book.authorId), + author => author ? ({ ...author, books: [...author.books, addBook] }) : author + ); + } + // code-remove-end + }); + }; + + return ( + <> + ... + + ); +} +``` + +Now, when a component calls `useMutation(AddBookDocument)`, the `mutationUpdate` functions in the states are automatically executed and the UI displaying books and author books is updated. + +The example above demonstrates how the same mutation can be handled independently by different states, achieving separation of concerns (SoC) and complete decoupling between component and state logic. + +:::note +`mutationUpdate` also accepts the name of the mutation as a `string` argument. This can be used in projects that do not have codegen setup. +So the above code can be updated to `.mutationUpdate('AddBook', (cache, info) =>` and the rest of the code remains the same, except it won't be type-safe. +::: diff --git a/docs/docs/react/state/optimistic-response.mdx b/docs/docs/react/state/optimistic-response.mdx new file mode 100644 index 00000000..16166af8 --- /dev/null +++ b/docs/docs/react/state/optimistic-response.mdx @@ -0,0 +1,33 @@ +--- +sidebar_position: 4 +title: 'optimisticResponse' +--- + +import Link from '@docusaurus/Link' + +## Overview +`optimisticResponse` is analogous to `optimisticResponse` option passed to `useMutation`. +It enables optimistic UI, allowing for immediate UI updates before the server responds. + +## Usage +Let's extend `bookState` to return an optimistic response when `AddBook` mutation is executed. + +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/react'; +import shortid from 'shortid'; +import { AddBookDocument } from '../../graphql'; + +export const bookState = state(descriptor => descriptor + .optimisticResponse(AddBookDocument, ({ book }) => ({ + __typename: 'Mutation' as const, + addBook: { + __typename: 'Book' as const, + id: shortid.generate(), + genre: book.genre ?? null, + name: book.name, + authorId: book.authorId + } + })) +); + +``` diff --git a/docs/docs/react/state/refetch-queries.mdx b/docs/docs/react/state/refetch-queries.mdx new file mode 100644 index 00000000..39b652f6 --- /dev/null +++ b/docs/docs/react/state/refetch-queries.mdx @@ -0,0 +1,38 @@ +--- +sidebar_position: 5 +title: 'refetchQueries' +--- + +import Link from '@docusaurus/Link' + +## Overview +`refetchQueries` is analogous to `refetchQueries` option passed to `useMutation`. +It enables refetching queries after a mutation has executed. + +## Usage +Let's modify `bookState` to refetch the full list of books from the server instead of modifying the cache on the client when `AddBook` mutation is executed. + +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/react'; +import { AddBookDocument, BooksDocument } from '../../graphql'; + +export const bookState = state(descriptor => descriptor + // code-add-line + .refetchQueries(AddBookDocument, info => [BooksDocument]) + // code-remove-start + .mutationUpdate(AddBookDocument, (cache, info) => { + const addBook = info.data?.addBook; + if (!addBook) return; + cache.updateQuery(BooksDocument, data => data ? { books: [...data.books, addBook] } : data); + }) + // code-remove-end +); + +``` + +Now, whenever `AddBook` mutation is executed, `Books` query will be refetched from the server and any components watching `Books` query will be updated with the new data. + +## API +```typescript +type RefetchQueryDescriptor = Array | 'all' | 'active'; +``` diff --git a/docs/docs/react/state/resolver.mdx b/docs/docs/react/state/resolver.mdx new file mode 100644 index 00000000..ee7c63bd --- /dev/null +++ b/docs/docs/react/state/resolver.mdx @@ -0,0 +1,85 @@ +--- +sidebar_position: 6 +title: 'resolver' +--- + +import Link from '@docusaurus/Link' + +## Overview +`resolver` is analogous to `resolvers` option passed to `ApolloClientOptions`. +It allows implementing local resolvers. + +:::note +It is recommended to use field policies instead of local resolvers as described in Local-only fields. +Local resolver support will be moved out of the core of Apollo Client in a future major release. The same or similar functionality will be available via `ApolloLink`. +::: + +## Usage +Let's modify `bookState` to to return `displayName` for each `Book` which is a concatenation of the book name and genre. + +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/react'; +import { gql } from '@apollo/client'; +import { Book } from '../../graphql'; + +export const bookState = state(descriptor => descriptor + .typeDefs(gql` + extend type Book { + displayName: String! + } + `) + .resolver(['Book', 'displayName'], (rootValue: Book, args, context, info): Book['displayName'] => { + const { name, genre } = rootValue; + return typeof genre === 'string' ? `${name} (${genre})` : name; + }) +); +``` + +Since `*.state.ts` files are included in our [codegen configuration](../get-started#setup-graphql-codegen), defining local schema using `typeDefs` will get automatically picked up by codegen. + +Next, we update `book.graphql` to include `displayName` field: +```graphql title="library/gql/book.graphql" +fragment BookFragment on Book { + id + name + genre + authorId + // code-add-line + displayName @client +} + +... +``` + +Now, `displayName` can be used in the component to display the book name along with genre. + +## API +`resolve` methods can return a value or a promise. + +## Local-only fields (Recommended) +In order to implement the same functionality using field policies, we can modify `bookState` as follows: + +```typescript title="library/states/book.state.ts" +import { state } from '@apollo-orbit/react'; +import { gql } from '@apollo/client'; +import { Book } from '../../graphql'; + +export const bookState = state(descriptor => descriptor + .typeDefs(gql` + extend type Book { + displayName: String! + } + `) + .typePolicies({ + Book: { + fields: { + displayName: (_existing, { readField }) => { + const name = readField('name'); + const genre = readField('genre'); + return typeof genre === 'string' ? `${name} (${genre})` : name; + } + } + } + }) +); +``` diff --git a/docs/docs/react/state/state-slice.mdx b/docs/docs/react/state/state-slice.mdx new file mode 100644 index 00000000..434e12d4 --- /dev/null +++ b/docs/docs/react/state/state-slice.mdx @@ -0,0 +1,66 @@ +--- +sidebar_position: 1 +title: 'state' +--- + +import Link from '@docusaurus/Link' + +## Overview +`state` function is used to create a state slice. + +`state` provides a `descriptor` which can be used to define one of the following: +* typeDefs +* typePolicies +* possibleTypes +* [onInit](#oninit) +* [mutationUpdate](./mutation-update) +* [effect](./effect) +* [optimisticResponse](./optimistic-response) +* [refetchQueries](./refetch-queries) +* [resolver](./resolver) +* [action](./action) + +## Defining state +Defining a state slice is as simple as calling `state` function. + +```typescript title="states/theme/theme.state.ts" +export const themeState = state(descriptor => ...) +``` + +:::note +A `state` slice file name should be in the format `.state.ts`, this is a requirement as per our [setup guide](../get-started). +`` is singular by convention for simplicity. +::: + +## Adding state +Once a `state` slice is created it needs to be provided to `ApolloOrbitProvider` `states` array. + +`ApolloOrbitProvider` must be nested under `ApolloProvider` to ensure that it has access to the `ApolloClient` instance used in the app. + +`ApolloOrbitProvider` can be used **multiple times** and at at **any level** in the application, including in lazy loaded components. + +### Example +```tsx title="index.tsx" +import { themeState } from './states/theme.state'; + +root.render( + + // code-add-line + + + // code-add-line + + , +); +``` + +## `onInit` +`onInit` defines a callback that is invoked when the state is initialised. + +```typescript title="states/theme/theme.state.ts" +export const themeState = state(descriptor => descriptor + .onInit(cache => cache.writeQuery(...)) +); +``` + +`onInit` callback accepts the cache instance and can be used to initialise cache data for the state. More on this in [local state guide](./local-state). diff --git a/docs/docs/shared/_codegen-tip.mdx b/docs/docs/shared/_codegen-tip.mdx new file mode 100644 index 00000000..1e3a94d1 --- /dev/null +++ b/docs/docs/shared/_codegen-tip.mdx @@ -0,0 +1,9 @@ +import Link from '@docusaurus/Link'; + +:::tip +While **Apollo Orbit** can work fully without **codegen**, it is highly recommended to use codegen in order to improve developer experience and enable compile-time safety across your application, cache & state logic. +::: + +:::info +**Apollo Orbit** is compatible with any **codegen** tool that supports TypedDocumentNode. +::: diff --git a/docs/docs/shared/_event-command.mdx b/docs/docs/shared/_event-command.mdx new file mode 100644 index 00000000..25eaa057 --- /dev/null +++ b/docs/docs/shared/_event-command.mdx @@ -0,0 +1,5 @@ +:::tip +When unsure whether to use a **command** or an **event** for a certain action, it is advisable to choose **event**. +Events simply relay what has already happened, without making assumptions about how the various states should react. +In contrast, a command could potentially obscure information about what has happened and dictate what states should do. +::: diff --git a/docs/docs/shared/_state-features.mdx b/docs/docs/shared/_state-features.mdx new file mode 100644 index 00000000..16dd5136 --- /dev/null +++ b/docs/docs/shared/_state-features.mdx @@ -0,0 +1,6 @@ +* **Comprehensive state management**: **Apollo Orbit** combines the strengths of **Apollo Client** and traditional state management libraries, providing a unified solution for managing both local and remote data. +* **Decoupling**: Separate state management code from component code using modular `state` definitions and `action` handlers. +* **Modular:** Each `state` definition manages its own slice of the cache. +* **Separation of concerns (SoC):** Different `state` slices can handle the same `Mutation` or `Action` independently. +* **Event-driven architecture:** **Apollo Orbit** actions enable event-driven application design. +* **Testability:** `state` logic can be tested in isolation, enhancing testability. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js new file mode 100644 index 00000000..3312eefd --- /dev/null +++ b/docs/docusaurus.config.js @@ -0,0 +1,100 @@ +// @ts-check +// `@type` JSDoc annotations allow editor autocompletion and type checking +// (when paired with `@ts-check`). +// There are various equivalent ways to declare your Docusaurus config. +// See: https://docusaurus.io/docs/api/docusaurus-config + +import { themes as prismThemes } from 'prism-react-renderer'; + +/** @type {import('@docusaurus/types').Config} */ +const config = { + title: 'Apollo Orbit', + url: 'https://wassim-k.github.io', + baseUrl: '/apollo-orbit/', + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + favicon: 'img/favicon.svg', + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: 'wassim-k', // Usually your GitHub org/user name. + projectName: 'apollo-orbit', // Usually your repo name. + + // Even if you don't use internationalization, you can use this field to set + // useful metadata like html lang. For example, if your site is Chinese, you + // may want to replace "en" with "zh-Hans". + i18n: { + defaultLocale: 'en', + locales: ['en'], + }, + + presets: [ + [ + 'classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + sidebarPath: './sidebars.js' + }, + theme: { + customCss: './src/css/custom.css', + }, + }), + ], + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ + navbar: { + title: 'Apollo Orbit', + logo: { + alt: 'Apollo Orbit', + src: 'img/orbit.png', + }, + items: [ + { + type: 'doc', + docId: 'angular/index', + position: 'left', + label: 'Angular' + }, + { + type: 'doc', + docId: 'react/index', + position: 'left', + label: 'React', + }, + { + href: 'https://github.com/wassim-k/apollo-orbit', + label: 'GitHub', + position: 'right', + }, + ] + }, + prism: { + theme: prismThemes.github, + darkTheme: { + ...prismThemes.dracula, + plain: { + ...prismThemes.dracula.plain, + backgroundColor: '#060f2f' + } + }, + magicComments: [ + { + className: 'theme-code-add', + line: 'code-add-line', + block: { start: 'code-add-start', end: 'code-add-end' }, + }, + { + className: 'theme-code-remove', + line: 'code-remove-line', + block: { start: 'code-remove-start', end: 'code-remove-end' }, + }, + ], + }, + }), +}; + +export default config; diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 00000000..a02b17c1 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,49 @@ +{ + "name": "apollo-orbit-docs", + "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.5.2", + "@docusaurus/preset-classic": "^3.5.2", + "@mdx-js/react": "3.0.1", + "clsx": "^2.1.1", + "prism-react-renderer": "^2.4.0", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "^3.5.2", + "@docusaurus/tsconfig": "^3.5.2", + "@docusaurus/types": "^3.5.2", + "@types/react": "^18.3.5", + "react-loadable": "^5.5.0", + "typescript": "~5.5.4" + }, + "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/sidebars.js b/docs/sidebars.js new file mode 100644 index 00000000..b4e18efa --- /dev/null +++ b/docs/sidebars.js @@ -0,0 +1,34 @@ +/** + * 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. + */ + +// @ts-check + +/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ +const sidebars = { + // By default, Docusaurus generates a sidebar from the docs folder structure + angularSidebar: [{ type: 'autogenerated', dirName: 'angular' }], + reactSidebar: [{ type: 'autogenerated', dirName: 'react' }], + + // But you can create a sidebar manually + /* + tutorialSidebar: [ + 'intro', + 'hello', + { + type: 'category', + label: 'Tutorial', + items: ['tutorial-basics/create-a-document'], + }, + ], + */ +}; + +export default sidebars; diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx new file mode 100644 index 00000000..b6f0f45b --- /dev/null +++ b/docs/src/components/HomepageFeatures/index.tsx @@ -0,0 +1,67 @@ +import Link from '@docusaurus/Link'; +import clsx from 'clsx'; +import React from 'react'; +import styles from './styles.module.css'; + +interface FeatureItem { + title: string; + Svg: React.ComponentType>; + description: JSX.Element; + url: string; +} + +const FeatureList: Array = [ + { + title: 'Angular', + url: '/docs/angular', + Svg: require('@site/static/img/angular.svg').default, + description: ( + <> + A fully-featured GraphQL client for Angular with modular state management + + ) + }, + { + title: 'React', + url: '/docs/react', + Svg: require('@site/static/img/react.svg').default, + description: ( + <> + Apollo Client modular state management abstraction for React + + ) + } +]; + +function Feature({ title, Svg, description, url }: FeatureItem) { + return ( +
+
+ +
+
+

{title}

+

{description}

+ + Explore {title} docs + +
+
+ ); +} + +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..44f9b93c --- /dev/null +++ b/docs/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,11 @@ +.features { + display: flex; + align-items: center; + padding: 1rem 0; + width: 100%; +} + +.featureSvg { + height: 200px; + width: 200px; +} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 00000000..5340e841 --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,107 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +@import url('https://fonts.googleapis.com/css?family=Source+Sans+3'); + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: #6b46c1; + --ifm-color-primary-dark: #5f3bb1; + --ifm-color-primary-darker: #5a38a7; + --ifm-color-primary-darkest: #4a2e8a; + --ifm-color-primary-light: #7b5ac8; + --ifm-color-primary-lighter: #8364cb; + --ifm-color-primary-lightest: #9a81d5; + + --ifm-sidebar-menu-color-active: #ffffff; + --ifm-sidebar-menu-color-background-active: var(--ifm-color-primary-dark); + --ifm-sidebar-menu-color-sublist-active: var(--ifm-color-primary-darkest); + + --ifm-code-color: #D53F8C; + --ifm-code-padding-horizontal: 0.4rem; + --ifm-font-size-base: 16px; + --ifm-color-info-darkest: rgb(59 139 165 / 25%); + --ifm-font-family-base: 'Source Sans 3', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; + --ifm-pagination-nav-color-background: rgba(0, 0, 0, 0.04); + --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: #ad9bf6; + --ifm-color-primary-dark: #8f76f3; + --ifm-color-primary-darker: #8064f1; + --ifm-color-primary-darkest: #522dec; + --ifm-color-primary-light: #cbc0f9; + --ifm-color-primary-lighter: #dad2fb; + --ifm-color-primary-lightest: #ffffff; + + --ifm-menu-color-active: #ffffff; + --ifm-menu-color-background-active: #553C9A; + --ifm-menu-color-sublist-active: var(--ifm-color-primary); + --ifm-sidebar-menu-color-active: var(--ifm-menu-color-active); + --ifm-sidebar-menu-color-background-active: var(--ifm-menu-color-background-active); + --ifm-sidebar-menu-color-sublist-active: var(--ifm-sidebar-menu-color-active); + + --ifm-code-color: #F687B3; + --ifm-code-background: #292f4d !important; + + --ifm-color-secondary-contrast-background: rgba(255, 255, 255, 0.15) !important; + --ifm-background-color: #1B2240 !important; + --ifm-navbar-background-color: var(--ifm-background-color); + --ifm-color-info-contrast-background: var(--ifm-color-info-darkest) !important; + --ifm-footer-background-color: rgba(255, 255, 255, 0.05); + --ifm-pagination-nav-color-background: rgba(255, 255, 255, 0.1); + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} + +.theme-doc-sidebar-menu .menu__link.menu__link--active { + color: var(--ifm-sidebar-menu-color-active); + background-color: var(--ifm-sidebar-menu-color-background-active); +} + +.theme-doc-sidebar-menu .menu__link.menu__link--sublist.menu__link--active { + color: var(--ifm-sidebar-menu-color-sublist-active); + font-weight: bold; +} + +nav { + font-size: 0.9rem; +} + +.pagination-nav__link { + border: none; + transition: background-color 0.25s ease; +} + +.pagination-nav__link:hover { + background-color: var(--ifm-pagination-nav-color-background); +} + +code { + border: none; + color: var(--ifm-code-color); +} + +.alert { + font-size: 0.95em; +} + +.theme-code-add { + background-color: rgba(0, 255, 0, 0.15); + display: block; + margin: 0 calc(-1 * var(--ifm-pre-padding)); + padding: 0 var(--ifm-pre-padding); + border-left: 3px solid var(--ifm-color-success); +} + +.theme-code-remove { + background-color: rgba(255, 0, 0, 0.15); + display: block; + margin: 0 calc(-1 * var(--ifm-pre-padding)); + padding: 0 var(--ifm-pre-padding); + border-left: 3px solid red; +} diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css new file mode 100644 index 00000000..d513a35a --- /dev/null +++ b/docs/src/pages/index.module.css @@ -0,0 +1,30 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.mainBanner { + padding: 1rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .mainBanner { + padding: 1rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} + +.headerContainer { + display: flex; + flex: row; + justify-content: center; + gap: 1em; +} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx new file mode 100644 index 00000000..b192c0f6 --- /dev/null +++ b/docs/src/pages/index.tsx @@ -0,0 +1,33 @@ +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import HomepageFeatures from '@site/src/components/HomepageFeatures'; +import Layout from '@theme/Layout'; + +import styles from './index.module.css'; + +function HomepageHeader() { + const { siteConfig } = useDocusaurusContext(); + return ( +
+
+
+ +

{siteConfig.title}

+

{siteConfig.tagline}

+
+
+
+
+ ); +} + +export default function Home(): JSX.Element { + const { siteConfig } = useDocusaurusContext(); + return ( + + +
+ +
+
+ ); +} diff --git a/docs/src/pages/markdown-page.md b/docs/src/pages/markdown-page.md new file mode 100644 index 00000000..9756c5b6 --- /dev/null +++ b/docs/src/pages/markdown-page.md @@ -0,0 +1,7 @@ +--- +title: Markdown page example +--- + +# Markdown page example + +You don't need React to write simple standalone pages. diff --git a/docs/static/.nojekyll b/docs/static/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/docs/static/img/angular.svg b/docs/static/img/angular.svg new file mode 100644 index 00000000..2a9188fa --- /dev/null +++ b/docs/static/img/angular.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + 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.svg b/docs/static/img/favicon.svg new file mode 100644 index 00000000..74a6a10e --- /dev/null +++ b/docs/static/img/favicon.svg @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg new file mode 100644 index 00000000..9db6d0d0 --- /dev/null +++ b/docs/static/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/static/img/orbit.png b/docs/static/img/orbit.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c7a07d2217f3fbbcb147f98ee203269b0c2d04 GIT binary patch literal 293722 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 T8sW(8?^7JV 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 z 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%0D#@X;RH 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/react.svg b/docs/static/img/react.svg new file mode 100644 index 00000000..ea77a618 --- /dev/null +++ b/docs/static/img/react.svg @@ -0,0 +1,9 @@ + + React Logo + + + + + + + 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/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/docs/yarn.lock b/docs/yarn.lock new file mode 100644 index 00000000..db1da167 --- /dev/null +++ b/docs/yarn.lock @@ -0,0 +1,9316 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@algolia/autocomplete-core@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7" + integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-plugin-algolia-insights@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587" + integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== + dependencies: + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-preset-algolia@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da" + integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== + dependencies: + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-shared@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa" + integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== + +"@algolia/cache-browser-local-storage@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz#357318242fc542ffce41d6eb5b4a9b402921b0bb" + integrity sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ== + dependencies: + "@algolia/cache-common" "4.20.0" + +"@algolia/cache-common@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.20.0.tgz#ec52230509fce891091ffd0d890618bcdc2fa20d" + integrity sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ== + +"@algolia/cache-in-memory@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz#5f18d057bd6b3b075022df085c4f83bcca4e3e67" + integrity sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg== + dependencies: + "@algolia/cache-common" "4.20.0" + +"@algolia/client-account@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.20.0.tgz#23ce0b4cffd63100fb7c1aa1c67a4494de5bd645" + integrity sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q== + dependencies: + "@algolia/client-common" "4.20.0" + "@algolia/client-search" "4.20.0" + "@algolia/transporter" "4.20.0" + +"@algolia/client-analytics@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.20.0.tgz#0aa6bef35d3a41ac3991b3f46fcd0bf00d276fa9" + integrity sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug== + dependencies: + "@algolia/client-common" "4.20.0" + "@algolia/client-search" "4.20.0" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" + +"@algolia/client-common@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.20.0.tgz#ca60f04466515548651c4371a742fbb8971790ef" + integrity sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ== + dependencies: + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" + +"@algolia/client-personalization@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.20.0.tgz#ca81308e8ad0db3b27458b78355f124f29657181" + integrity sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ== + dependencies: + "@algolia/client-common" "4.20.0" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" + +"@algolia/client-search@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.20.0.tgz#3bcce817ca6caedc835e0eaf6f580e02ee7c3e15" + integrity sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg== + dependencies: + "@algolia/client-common" "4.20.0" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" + +"@algolia/events@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" + integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== + +"@algolia/logger-common@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.20.0.tgz#f148ddf67e5d733a06213bebf7117cb8a651ab36" + integrity sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ== + +"@algolia/logger-console@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.20.0.tgz#ac443d27c4e94357f3063e675039cef0aa2de0a7" + integrity sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA== + dependencies: + "@algolia/logger-common" "4.20.0" + +"@algolia/requester-browser-xhr@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz#db16d0bdef018b93b51681d3f1e134aca4f64814" + integrity sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw== + dependencies: + "@algolia/requester-common" "4.20.0" + +"@algolia/requester-common@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.20.0.tgz#65694b2263a8712b4360fef18680528ffd435b5c" + integrity sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng== + +"@algolia/requester-node-http@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz#b52b182b52b0b16dec4070832267d484a6b1d5bb" + integrity sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng== + dependencies: + "@algolia/requester-common" "4.20.0" + +"@algolia/transporter@4.20.0": + version "4.20.0" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.20.0.tgz#7e5b24333d7cc9a926b2f6a249f87c2889b944a9" + integrity sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg== + dependencies: + "@algolia/cache-common" "4.20.0" + "@algolia/logger-common" "4.20.0" + "@algolia/requester-common" "4.20.0" + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.4", "@babel/code-frame@^7.8.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.4.tgz#03ae5af150be94392cb5c7ccd97db5a19a5da6aa" + integrity sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.3.tgz#3febd552541e62b5e883a25eb3effd7c7379db11" + integrity sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ== + +"@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/compat-data@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" + integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== + +"@babel/core@^7.21.3": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/core@^7.23.3": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" + integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@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/helpers" "^7.23.9" + "@babel/parser" "^7.23.9" + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.3", "@babel/generator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.4.tgz#4a41377d8566ec18f807f42962a7f3551de83d1c" + integrity sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ== + dependencies: + "@babel/types" "^7.23.4" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/generator@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" + integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz#7d19da92c7e0cd8d11c09af2ce1b8e7512a6e723" + integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.24.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz#a71c10f7146d809f4a256c373f462d9bba8cf6ba" + integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-member-expression-to-functions@^7.23.0", "@babel/helper-member-expression-to-functions@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz#5981e131d5c7003c7d1fa1ad49e86c9b097ec475" + integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@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/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" + integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-replace-supers@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1" + integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== + dependencies: + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.22.15", "@babel/parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.4.tgz#409fbe690c333bb70187e2de4021e1e47a026661" + integrity sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ== + +"@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + +"@babel/parser@^7.24.0", "@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz#4c3685eb9cd790bcad2843900fe0250c91ccf895" + integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf" + integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3" + integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz#20c60d4639d18f7da8602548512e9d3a4c8d7098" + integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988" + integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-assertions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" + integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093" + integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-jsx@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-typescript@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-arrow-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" + integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-async-generator-functions@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz#93ac8e3531f347fba519b4703f9ff2a75c6ae27a" + integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-generator-functions@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89" + integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-async-to-generator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4" + integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== + dependencies: + "@babel/helper-module-imports" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoped-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380" + integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-block-scoping@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz#89574191397f85661d6f748d4b89ee4d9ee69a2a" + integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29" + integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-class-static-block@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-class-static-block@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz#1a4653c0cf8ac46441ec406dece6e9bc590356a4" + integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz#73380c632c095b03e8503c24fd38f95ad41ffacb" + integrity sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-classes@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz#05e04a09df49a46348299a0e24bfd7e901129339" + integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-split-export-declaration" "^7.24.5" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" + +"@babel/plugin-transform-computed-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7" + integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/template" "^7.24.0" + +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-destructuring@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz#80843ee6a520f7362686d1a97a7b53544ede453c" + integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13" + integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88" + integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-dynamic-import@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-dynamic-import@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd" + integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-exponentiation-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4" + integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-export-namespace-from@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-export-namespace-from@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd" + integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz#afe115ff0fbce735e02868d41489093c63e15559" + integrity sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-for-of@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" + integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361" + integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-json-strings@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-json-strings@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7" + integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096" + integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-logical-assignment-operators@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-logical-assignment-operators@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40" + integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-member-expression-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489" + integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39" + integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9" + integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" + integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-systemjs@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e" + integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-umd@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef" + integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34" + integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" + integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-numeric-separator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8" + integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== + dependencies: + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.23.3" + +"@babel/plugin-transform-object-rest-spread@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz#f91bbcb092ff957c54b4091c86bda8372f0b10ef" + integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.24.5" + +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + +"@babel/plugin-transform-object-super@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520" + integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" + +"@babel/plugin-transform-optional-catch-binding@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-catch-binding@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da" + integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz#a6334bebd7f9dd3df37447880d0bd64b778e600f" + integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-parameters@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz#5c3b23f3a6b8fed090f9b98f2926896d3153cc62" + integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a" + integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-private-property-in-object@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-private-property-in-object@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz#f5d1fcad36e30c960134cb479f1ca98a5b06eda5" + integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-property-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825" + integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-constant-elements@^7.21.3": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz#d493a0918b9fdad7540f5afd9b5eb5c52500d18d" + integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-display-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" + +"@babel/plugin-transform-react-pure-annotations@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" + integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-regenerator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c" + integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-reserved-words@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1" + integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-runtime@^7.22.9": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.4.tgz#5132b388580002fc5cb7c84eccfb968acdc231cb" + integrity sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-shorthand-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" + integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391" + integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9" + integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" + integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz#703cace5ef74155fb5eecab63cbfc39bdd25fe12" + integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.5" + +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.4.tgz#da12914d17b3c4b307f32c5fd91fbfdf17d56f86" + integrity sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" + +"@babel/plugin-transform-typescript@^7.24.1": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz#bcba979e462120dc06a75bd34c473a04781931b8" + integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.5" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/plugin-syntax-typescript" "^7.24.1" + +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4" + integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e" + integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385" + integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f" + integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/preset-env@^7.20.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.5.tgz#6a9ac90bd5a5a9dae502af60dfc58c190551bbcd" + integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== + dependencies: + "@babel/compat-data" "^7.24.4" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.24.1" + "@babel/plugin-syntax-import-attributes" "^7.24.1" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.24.1" + "@babel/plugin-transform-async-generator-functions" "^7.24.3" + "@babel/plugin-transform-async-to-generator" "^7.24.1" + "@babel/plugin-transform-block-scoped-functions" "^7.24.1" + "@babel/plugin-transform-block-scoping" "^7.24.5" + "@babel/plugin-transform-class-properties" "^7.24.1" + "@babel/plugin-transform-class-static-block" "^7.24.4" + "@babel/plugin-transform-classes" "^7.24.5" + "@babel/plugin-transform-computed-properties" "^7.24.1" + "@babel/plugin-transform-destructuring" "^7.24.5" + "@babel/plugin-transform-dotall-regex" "^7.24.1" + "@babel/plugin-transform-duplicate-keys" "^7.24.1" + "@babel/plugin-transform-dynamic-import" "^7.24.1" + "@babel/plugin-transform-exponentiation-operator" "^7.24.1" + "@babel/plugin-transform-export-namespace-from" "^7.24.1" + "@babel/plugin-transform-for-of" "^7.24.1" + "@babel/plugin-transform-function-name" "^7.24.1" + "@babel/plugin-transform-json-strings" "^7.24.1" + "@babel/plugin-transform-literals" "^7.24.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" + "@babel/plugin-transform-member-expression-literals" "^7.24.1" + "@babel/plugin-transform-modules-amd" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-modules-systemjs" "^7.24.1" + "@babel/plugin-transform-modules-umd" "^7.24.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.24.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" + "@babel/plugin-transform-numeric-separator" "^7.24.1" + "@babel/plugin-transform-object-rest-spread" "^7.24.5" + "@babel/plugin-transform-object-super" "^7.24.1" + "@babel/plugin-transform-optional-catch-binding" "^7.24.1" + "@babel/plugin-transform-optional-chaining" "^7.24.5" + "@babel/plugin-transform-parameters" "^7.24.5" + "@babel/plugin-transform-private-methods" "^7.24.1" + "@babel/plugin-transform-private-property-in-object" "^7.24.5" + "@babel/plugin-transform-property-literals" "^7.24.1" + "@babel/plugin-transform-regenerator" "^7.24.1" + "@babel/plugin-transform-reserved-words" "^7.24.1" + "@babel/plugin-transform-shorthand-properties" "^7.24.1" + "@babel/plugin-transform-spread" "^7.24.1" + "@babel/plugin-transform-sticky-regex" "^7.24.1" + "@babel/plugin-transform-template-literals" "^7.24.1" + "@babel/plugin-transform-typeof-symbol" "^7.24.5" + "@babel/plugin-transform-unicode-escapes" "^7.24.1" + "@babel/plugin-transform-unicode-property-regex" "^7.24.1" + "@babel/plugin-transform-unicode-regex" "^7.24.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-env@^7.22.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.3.tgz#d299e0140a7650684b95c62be2db0ef8c975143e" + integrity sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q== + dependencies: + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.3" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.3" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.3" + "@babel/plugin-transform-classes" "^7.23.3" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.3" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.3" + "@babel/plugin-transform-for-of" "^7.23.3" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.3" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.3" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.3" + "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.3" + "@babel/plugin-transform-numeric-separator" "^7.23.3" + "@babel/plugin-transform-object-rest-spread" "^7.23.3" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.3" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.3" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.22.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" + integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.23.3" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + +"@babel/preset-typescript@^7.21.0": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" + integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-typescript" "^7.24.1" + +"@babel/preset-typescript@^7.22.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime-corejs3@^7.22.6": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.23.4.tgz#ae5aa568d1320c23459aef5893dc970f6711d02c" + integrity sha512-zQyB4MJGM+rvd4pM58n26kf3xbiitw9MHzL8oLiBMKb8MCtVDfV5nDzzJWWzLMtbvKI9wN6XwJYl479qF4JluQ== + dependencies: + core-js-pure "^3.30.2" + regenerator-runtime "^0.14.0" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.4.tgz#36fa1d2b36db873d25ec631dcc4923fdc1cf2e2e" + integrity sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/template@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + +"@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.22.8": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.4.tgz#c2790f7edf106d059a0098770fe70801417f3f85" + integrity sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg== + dependencies: + "@babel/code-frame" "^7.23.4" + "@babel/generator" "^7.23.4" + "@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.4" + "@babel/types" "^7.23.4" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/traverse@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== + 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.1" + globals "^11.1.0" + +"@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== + dependencies: + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@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.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.21.3", "@babel/types@^7.24.0", "@babel/types@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.4.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.4.tgz#7206a1810fc512a7f7f7d4dace4cb4c1c9dbfb8e" + integrity sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@babel/types@^7.23.6", "@babel/types@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@docsearch/css@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac" + integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== + +"@docsearch/react@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9" + integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== + dependencies: + "@algolia/autocomplete-core" "1.9.3" + "@algolia/autocomplete-preset-algolia" "1.9.3" + "@docsearch/css" "3.5.2" + algoliasearch "^4.19.1" + +"@docusaurus/core@3.5.2", "@docusaurus/core@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.5.2.tgz#3adedb90e7b6104592f1231043bd6bf91680c39c" + integrity sha512-4Z1WkhCSkX4KO0Fw5m/Vuc7Q3NxBG53NE5u59Rs96fWkMPZVSrzEPP16/Nk6cWb/shK7xXPndTmalJtw7twL/w== + dependencies: + "@babel/core" "^7.23.3" + "@babel/generator" "^7.23.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.22.9" + "@babel/preset-env" "^7.22.9" + "@babel/preset-react" "^7.22.5" + "@babel/preset-typescript" "^7.22.5" + "@babel/runtime" "^7.22.6" + "@babel/runtime-corejs3" "^7.22.6" + "@babel/traverse" "^7.22.8" + "@docusaurus/cssnano-preset" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + autoprefixer "^10.4.14" + babel-loader "^9.1.3" + babel-plugin-dynamic-import-node "^2.3.3" + boxen "^6.2.1" + chalk "^4.1.2" + chokidar "^3.5.3" + clean-css "^5.3.2" + cli-table3 "^0.6.3" + combine-promises "^1.1.0" + commander "^5.1.0" + copy-webpack-plugin "^11.0.0" + core-js "^3.31.1" + css-loader "^6.8.1" + css-minimizer-webpack-plugin "^5.0.1" + cssnano "^6.1.2" + del "^6.1.1" + detect-port "^1.5.1" + escape-html "^1.0.3" + eta "^2.2.0" + eval "^0.1.8" + file-loader "^6.2.0" + fs-extra "^11.1.1" + html-minifier-terser "^7.2.0" + html-tags "^3.3.1" + html-webpack-plugin "^5.5.3" + leven "^3.1.0" + lodash "^4.17.21" + mini-css-extract-plugin "^2.7.6" + p-map "^4.0.0" + postcss "^8.4.26" + postcss-loader "^7.3.3" + prompts "^2.4.2" + react-dev-utils "^12.0.1" + react-helmet-async "^1.3.0" + react-loadable "npm:@docusaurus/react-loadable@6.0.0" + react-loadable-ssr-addon-v5-slorber "^1.0.1" + react-router "^5.3.4" + react-router-config "^5.1.1" + react-router-dom "^5.3.4" + rtl-detect "^1.0.4" + semver "^7.5.4" + serve-handler "^6.1.5" + shelljs "^0.8.5" + terser-webpack-plugin "^5.3.9" + tslib "^2.6.0" + update-notifier "^6.0.2" + url-loader "^4.1.1" + webpack "^5.88.1" + webpack-bundle-analyzer "^4.9.0" + webpack-dev-server "^4.15.1" + webpack-merge "^5.9.0" + webpackbar "^5.0.2" + +"@docusaurus/cssnano-preset@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.5.2.tgz#6c1f2b2f9656f978c4694c84ab24592b04dcfab3" + integrity sha512-D3KiQXOMA8+O0tqORBrTOEQyQxNIfPm9jEaJoALjjSjc2M/ZAWcUfPQEnwr2JB2TadHw2gqWgpZckQmrVWkytA== + dependencies: + cssnano-preset-advanced "^6.1.2" + postcss "^8.4.38" + postcss-sort-media-queries "^5.2.0" + tslib "^2.6.0" + +"@docusaurus/logger@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.5.2.tgz#1150339ad56844b30734115c19c580f3b25cf5ed" + integrity sha512-LHC540SGkeLfyT3RHK3gAMK6aS5TRqOD4R72BEU/DE2M/TY8WwEUAMY576UUc/oNJXv8pGhBmQB6N9p3pt8LQw== + dependencies: + chalk "^4.1.2" + tslib "^2.6.0" + +"@docusaurus/mdx-loader@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.5.2.tgz#99781641372c5037bcbe09bb8ade93a0e0ada57d" + integrity sha512-ku3xO9vZdwpiMIVd8BzWV0DCqGEbCP5zs1iHfKX50vw6jX8vQo0ylYo1YJMZyz6e+JFJ17HYHT5FzVidz2IflA== + dependencies: + "@docusaurus/logger" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + "@mdx-js/mdx" "^3.0.0" + "@slorber/remark-comment" "^1.0.0" + escape-html "^1.0.3" + estree-util-value-to-estree "^3.0.1" + file-loader "^6.2.0" + fs-extra "^11.1.1" + image-size "^1.0.2" + mdast-util-mdx "^3.0.0" + mdast-util-to-string "^4.0.0" + rehype-raw "^7.0.0" + remark-directive "^3.0.0" + remark-emoji "^4.0.0" + remark-frontmatter "^5.0.0" + remark-gfm "^4.0.0" + stringify-object "^3.3.0" + tslib "^2.6.0" + unified "^11.0.3" + unist-util-visit "^5.0.0" + url-loader "^4.1.1" + vfile "^6.0.1" + webpack "^5.88.1" + +"@docusaurus/module-type-aliases@3.5.2", "@docusaurus/module-type-aliases@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.5.2.tgz#4e8f9c0703e23b2e07ebfce96598ec83e4dd2a9e" + integrity sha512-Z+Xu3+2rvKef/YKTMxZHsEXp1y92ac0ngjDiExRdqGTmEKtCUpkbNYH8v5eXo5Ls+dnW88n6WTa+Q54kLOkwPg== + dependencies: + "@docusaurus/types" "3.5.2" + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router-config" "*" + "@types/react-router-dom" "*" + react-helmet-async "*" + react-loadable "npm:@docusaurus/react-loadable@6.0.0" + +"@docusaurus/plugin-content-blog@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.5.2.tgz#649c07c34da7603645f152bcebdf75285baed16b" + integrity sha512-R7ghWnMvjSf+aeNDH0K4fjyQnt5L0KzUEnUhmf1e3jZrv3wogeytZNN6n7X8yHcMsuZHPOrctQhXWnmxu+IRRg== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + cheerio "1.0.0-rc.12" + feed "^4.2.2" + fs-extra "^11.1.1" + lodash "^4.17.21" + reading-time "^1.5.0" + srcset "^4.0.0" + tslib "^2.6.0" + unist-util-visit "^5.0.0" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@docusaurus/plugin-content-docs@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.5.2.tgz#adcf6c0bd9a9818eb192ab831e0069ee62d31505" + integrity sha512-Bt+OXn/CPtVqM3Di44vHjE7rPCEsRCB/DMo2qoOuozB9f7+lsdrHvD0QCHdBs0uhz6deYJDppAr2VgqybKPlVQ== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/module-type-aliases" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + "@types/react-router-config" "^5.0.7" + combine-promises "^1.1.0" + fs-extra "^11.1.1" + js-yaml "^4.1.0" + lodash "^4.17.21" + tslib "^2.6.0" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@docusaurus/plugin-content-pages@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.5.2.tgz#2b59e43f5bc5b5176ff01835de706f1c65c2e68b" + integrity sha512-WzhHjNpoQAUz/ueO10cnundRz+VUtkjFhhaQ9jApyv1a46FPURO4cef89pyNIOMny1fjDz/NUN2z6Yi+5WUrCw== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + fs-extra "^11.1.1" + tslib "^2.6.0" + webpack "^5.88.1" + +"@docusaurus/plugin-debug@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.5.2.tgz#c25ca6a59e62a17c797b367173fe80c06fdf2f65" + integrity sha512-kBK6GlN0itCkrmHuCS6aX1wmoWc5wpd5KJlqQ1FyrF0cLDnvsYSnh7+ftdwzt7G6lGBho8lrVwkkL9/iQvaSOA== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + fs-extra "^11.1.1" + react-json-view-lite "^1.2.0" + tslib "^2.6.0" + +"@docusaurus/plugin-google-analytics@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.5.2.tgz#1143e78d1461d3c74a2746f036d25b18d4a2608d" + integrity sha512-rjEkJH/tJ8OXRE9bwhV2mb/WP93V441rD6XnM6MIluu7rk8qg38iSxS43ga2V2Q/2ib53PcqbDEJDG/yWQRJhQ== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + tslib "^2.6.0" + +"@docusaurus/plugin-google-gtag@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.5.2.tgz#60b5a9e1888c4fa16933f7c5cb5f2f2c31caad3a" + integrity sha512-lm8XL3xLkTPHFKKjLjEEAHUrW0SZBSHBE1I+i/tmYMBsjCcUB5UJ52geS5PSiOCFVR74tbPGcPHEV/gaaxFeSA== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + "@types/gtag.js" "^0.0.12" + tslib "^2.6.0" + +"@docusaurus/plugin-google-tag-manager@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.5.2.tgz#7a37334d2e7f00914d61ad05bc09391c4db3bfda" + integrity sha512-QkpX68PMOMu10Mvgvr5CfZAzZQFx8WLlOiUQ/Qmmcl6mjGK6H21WLT5x7xDmcpCoKA/3CegsqIqBR+nA137lQg== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + tslib "^2.6.0" + +"@docusaurus/plugin-sitemap@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.5.2.tgz#9c940b27f3461c54d65295cf4c52cb20538bd360" + integrity sha512-DnlqYyRAdQ4NHY28TfHuVk414ft2uruP4QWCH//jzpHjqvKyXjj2fmDtI8RPUBh9K8iZKFMHRnLtzJKySPWvFA== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + fs-extra "^11.1.1" + sitemap "^7.1.1" + tslib "^2.6.0" + +"@docusaurus/preset-classic@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.5.2.tgz#977f78510bbc556aa0539149eef960bb7ab52bd9" + integrity sha512-3ihfXQ95aOHiLB5uCu+9PRy2gZCeSZoDcqpnDvf3B+sTrMvMTr8qRUzBvWkoIqc82yG5prCboRjk1SVILKx6sg== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/plugin-content-blog" "3.5.2" + "@docusaurus/plugin-content-docs" "3.5.2" + "@docusaurus/plugin-content-pages" "3.5.2" + "@docusaurus/plugin-debug" "3.5.2" + "@docusaurus/plugin-google-analytics" "3.5.2" + "@docusaurus/plugin-google-gtag" "3.5.2" + "@docusaurus/plugin-google-tag-manager" "3.5.2" + "@docusaurus/plugin-sitemap" "3.5.2" + "@docusaurus/theme-classic" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/theme-search-algolia" "3.5.2" + "@docusaurus/types" "3.5.2" + +"@docusaurus/theme-classic@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.5.2.tgz#602ddb63d987ab1f939e3760c67bc1880f01c000" + integrity sha512-XRpinSix3NBv95Rk7xeMF9k4safMkwnpSgThn0UNQNumKvmcIYjfkwfh2BhwYh/BxMXQHJ/PdmNh22TQFpIaYg== + dependencies: + "@docusaurus/core" "3.5.2" + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/module-type-aliases" "3.5.2" + "@docusaurus/plugin-content-blog" "3.5.2" + "@docusaurus/plugin-content-docs" "3.5.2" + "@docusaurus/plugin-content-pages" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/theme-translations" "3.5.2" + "@docusaurus/types" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + "@mdx-js/react" "^3.0.0" + clsx "^2.0.0" + copy-text-to-clipboard "^3.2.0" + infima "0.2.0-alpha.44" + lodash "^4.17.21" + nprogress "^0.2.0" + postcss "^8.4.26" + prism-react-renderer "^2.3.0" + prismjs "^1.29.0" + react-router-dom "^5.3.4" + rtlcss "^4.1.0" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-common@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.5.2.tgz#b507ab869a1fba0be9c3c9d74f2f3d74c3ac78b2" + integrity sha512-QXqlm9S6x9Ibwjs7I2yEDgsCocp708DrCrgHgKwg2n2AY0YQ6IjU0gAK35lHRLOvAoJUfCKpQAwUykB0R7+Eew== + dependencies: + "@docusaurus/mdx-loader" "3.5.2" + "@docusaurus/module-type-aliases" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router-config" "*" + clsx "^2.0.0" + parse-numeric-range "^1.3.0" + prism-react-renderer "^2.3.0" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-search-algolia@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.5.2.tgz#466c83ca7e8017d95ae6889ccddc5ef8bf6b61c6" + integrity sha512-qW53kp3VzMnEqZGjakaV90sst3iN1o32PH+nawv1uepROO8aEGxptcq2R5rsv7aBShSRbZwIobdvSYKsZ5pqvA== + dependencies: + "@docsearch/react" "^3.5.2" + "@docusaurus/core" "3.5.2" + "@docusaurus/logger" "3.5.2" + "@docusaurus/plugin-content-docs" "3.5.2" + "@docusaurus/theme-common" "3.5.2" + "@docusaurus/theme-translations" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-validation" "3.5.2" + algoliasearch "^4.18.0" + algoliasearch-helper "^3.13.3" + clsx "^2.0.0" + eta "^2.2.0" + fs-extra "^11.1.1" + lodash "^4.17.21" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-translations@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.5.2.tgz#38f9ebf2a5d860397022206a05fef66c08863c89" + integrity sha512-GPZLcu4aT1EmqSTmbdpVrDENGR2yObFEX8ssEFYTCiAIVc0EihNSdOIBTazUvgNqwvnoU1A8vIs1xyzc3LITTw== + dependencies: + fs-extra "^11.1.1" + tslib "^2.6.0" + +"@docusaurus/tsconfig@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/tsconfig/-/tsconfig-3.5.2.tgz#98878103ba217bff355cd8944926d9ca06e6e153" + integrity sha512-rQ7toURCFnWAIn8ubcquDs0ewhPwviMzxh6WpRjBW7sJVCXb6yzwUaY3HMNa0VXCFw+qkIbFywrMTf+Pb4uHWQ== + +"@docusaurus/types@3.5.2", "@docusaurus/types@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.5.2.tgz#058019dbeffbee2d412c3f72569e412a727f9608" + integrity sha512-N6GntLXoLVUwkZw7zCxwy9QiuEXIcTVzA9AkmNw16oc0AP3SXLrMmDMMBIfgqwuKWa6Ox6epHol9kMtJqekACw== + dependencies: + "@mdx-js/mdx" "^3.0.0" + "@types/history" "^4.7.11" + "@types/react" "*" + commander "^5.1.0" + joi "^17.9.2" + react-helmet-async "^1.3.0" + utility-types "^3.10.0" + webpack "^5.88.1" + webpack-merge "^5.9.0" + +"@docusaurus/utils-common@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.5.2.tgz#4d7f5e962fbca3e2239d80457aa0e4bd3d8f7e0a" + integrity sha512-i0AZjHiRgJU6d7faQngIhuHKNrszpL/SHQPgF1zH4H+Ij6E9NBYGy6pkcGWToIv7IVPbs+pQLh1P3whn0gWXVg== + dependencies: + tslib "^2.6.0" + +"@docusaurus/utils-validation@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.5.2.tgz#1b2b2f02082781cc8ce713d4c85e88d6d2fc4eb3" + integrity sha512-m+Foq7augzXqB6HufdS139PFxDC5d5q2QKZy8q0qYYvGdI6nnlNsGH4cIGsgBnV7smz+mopl3g4asbSDvMV0jA== + dependencies: + "@docusaurus/logger" "3.5.2" + "@docusaurus/utils" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + fs-extra "^11.2.0" + joi "^17.9.2" + js-yaml "^4.1.0" + lodash "^4.17.21" + tslib "^2.6.0" + +"@docusaurus/utils@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.5.2.tgz#17763130215f18d7269025903588ef7fb373e2cb" + integrity sha512-33QvcNFh+Gv+C2dP9Y9xWEzMgf3JzrpL2nW9PopidiohS1nDcyknKRx2DWaFvyVTTYIkkABVSr073VTj/NITNA== + dependencies: + "@docusaurus/logger" "3.5.2" + "@docusaurus/utils-common" "3.5.2" + "@svgr/webpack" "^8.1.0" + escape-string-regexp "^4.0.0" + file-loader "^6.2.0" + fs-extra "^11.1.1" + github-slugger "^1.5.0" + globby "^11.1.0" + gray-matter "^4.0.3" + jiti "^1.20.0" + js-yaml "^4.1.0" + lodash "^4.17.21" + micromatch "^4.0.5" + prompts "^2.4.2" + resolve-pathname "^3.0.0" + shelljs "^0.8.5" + tslib "^2.6.0" + url-loader "^4.1.1" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@mdx-js/mdx@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.0.0.tgz#37ef87685143fafedf1165f0a79e9fe95fbe5154" + integrity sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw== + dependencies: + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdx" "^2.0.0" + collapse-white-space "^2.0.0" + devlop "^1.0.0" + estree-util-build-jsx "^3.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-util-to-js "^2.0.0" + estree-walker "^3.0.0" + hast-util-to-estree "^3.0.0" + hast-util-to-jsx-runtime "^2.0.0" + markdown-extensions "^2.0.0" + periscopic "^3.0.0" + remark-mdx "^3.0.0" + remark-parse "^11.0.0" + remark-rehype "^11.0.0" + source-map "^0.7.0" + unified "^11.0.0" + unist-util-position-from-estree "^2.0.0" + unist-util-stringify-position "^4.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +"@mdx-js/react@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.1.tgz#997a19b3a5b783d936c75ae7c47cfe62f967f746" + integrity sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A== + dependencies: + "@types/mdx" "^2.0.0" + +"@mdx-js/react@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.0.tgz#eaccaa8d6a7736b19080aff5a70448a7ba692271" + integrity sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ== + dependencies: + "@types/mdx" "^2.0.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@pnpm/config.env-replace@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" + integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== + +"@pnpm/network.ca-file@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" + integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== + dependencies: + graceful-fs "4.2.10" + +"@pnpm/npm-conf@^2.1.0": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz#0058baf1c26cbb63a828f0193795401684ac86f0" + integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== + dependencies: + "@pnpm/config.env-replace" "^1.1.0" + "@pnpm/network.ca-file" "^1.0.1" + config-chain "^1.1.11" + +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.23" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.23.tgz#498e41218ab3b6a1419c735e5c6ae2c5ed609b6c" + integrity sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg== + +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sindresorhus/is@^4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sindresorhus/is@^5.2.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" + integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== + +"@slorber/remark-comment@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz#2a020b3f4579c89dec0361673206c28d67e08f5a" + integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.1.0" + micromark-util-symbol "^1.0.1" + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@svgr/webpack@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" + integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== + dependencies: + "@babel/core" "^7.21.3" + "@babel/plugin-transform-react-constant-elements" "^7.21.3" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@types/acorn@^4.0.0": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" + integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== + dependencies: + "@types/estree" "*" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/debug@^4.0.0": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.44.7" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.7.tgz#430b3cc96db70c81f405e6a08aebdb13869198f5" + integrity sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree-jsx@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.3.tgz#f8aa833ec986d82b8271a294a92ed1565bf2c66a" + integrity sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w== + dependencies: + "@types/estree" "*" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.41" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz#5077defa630c2e8d28aa9ffc2c01c157c305bef6" + integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/gtag.js@^0.0.12": + version "0.0.12" + resolved "https://registry.yarnpkg.com/@types/gtag.js/-/gtag.js-0.0.12.tgz#095122edca896689bdfcdd73b057e23064d23572" + integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== + +"@types/hast@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.3.tgz#7f75e6b43bc3f90316046a287d9ad3888309f7e1" + integrity sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ== + dependencies: + "@types/unist" "*" + +"@types/history@^4.7.11": + version "4.7.11" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-cache-semantics@^4.0.2": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.8": + version "1.17.14" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/mdast@^4.0.0", "@types/mdast@^4.0.2": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.3.tgz#1e011ff013566e919a4232d1701ad30d70cab333" + integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== + dependencies: + "@types/unist" "*" + +"@types/mdx@^2.0.0": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.10.tgz#0d7b57fb1d83e27656156e4ee0dfba96532930e4" + integrity sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg== + +"@types/mime@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" + integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/ms@*": + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + +"@types/node-forge@^1.3.0": + version "1.3.10" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.10.tgz#62a19d4f75a8b03290578c2b04f294b1a5a71b07" + integrity sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "20.10.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.0.tgz#16ddf9c0a72b832ec4fcce35b8249cf149214617" + integrity sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ== + dependencies: + undici-types "~5.26.4" + +"@types/node@^17.0.5": + version "17.0.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prismjs@^1.26.0": + version "1.26.3" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.3.tgz#47fe8e784c2dee24fe636cab82e090d3da9b7dec" + integrity sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw== + +"@types/prop-types@*": + version "15.7.11" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + +"@types/qs@*": + version "6.9.10" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.10.tgz#0af26845b5067e1c9a622658a51f60a3934d51e8" + integrity sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/react-router-config@*", "@types/react-router-config@^5.0.7": + version "5.0.10" + resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.10.tgz#1f7537b8d23ad6bb8e7609268fdd89b8b2de1eaf" + integrity sha512-Wn6c/tXdEgi9adCMtDwx8Q2vGty6TsPTc/wCQQ9kAlye8UqFxj0vGFWWuhywNfkwqth+SOgJxQTLTZukrqDQmQ== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "^5.1.0" + +"@types/react-router-dom@*": + version "5.3.3" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" + integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*", "@types/react-router@^5.1.0": + version "5.1.20" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + +"@types/react@*": + version "18.2.38" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.38.tgz#3605ca41d3daff2c434e0b98d79a2469d4c2dd52" + integrity sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^18.3.5": + version "18.3.5" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.5.tgz#5f524c2ad2089c0ff372bbdabc77ca2c4dbadf8f" + integrity sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/sax@^1.2.1": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.7.tgz#ba5fe7df9aa9c89b6dff7688a19023dd2963091d" + integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== + dependencies: + "@types/node" "*" + +"@types/scheduler@*": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.5" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/unist@*", "@types/unist@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" + integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + +"@types/unist@^2.0.0": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" + integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@ungap/structured-clone@^1.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + 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": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "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/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@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.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f" + integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== + +acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: + version "8.11.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +address@^1.0.1, address@^1.1.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.2, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +algoliasearch-helper@^3.13.3: + version "3.15.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz#d680783329920a3619a74504dccb97a4fb943443" + integrity sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA== + dependencies: + "@algolia/events" "^4.0.1" + +algoliasearch@^4.18.0, algoliasearch@^4.19.1: + version "4.20.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.20.0.tgz#700c2cb66e14f8a288460036c7b2a554d0d93cf4" + integrity sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g== + dependencies: + "@algolia/cache-browser-local-storage" "4.20.0" + "@algolia/cache-common" "4.20.0" + "@algolia/cache-in-memory" "4.20.0" + "@algolia/client-account" "4.20.0" + "@algolia/client-analytics" "4.20.0" + "@algolia/client-common" "4.20.0" + "@algolia/client-personalization" "4.20.0" + "@algolia/client-search" "4.20.0" + "@algolia/logger-common" "4.20.0" + "@algolia/logger-console" "4.20.0" + "@algolia/requester-browser-xhr" "4.20.0" + "@algolia/requester-common" "4.20.0" + "@algolia/requester-node-http" "4.20.0" + "@algolia/transporter" "4.20.0" + +ansi-align@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +astring@^1.8.0: + version "1.8.6" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" + integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +autoprefixer@^10.4.14: + version "10.4.16" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" + integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== + dependencies: + browserslist "^4.21.10" + caniuse-lite "^1.0.30001538" + fraction.js "^4.3.6" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +autoprefixer@^10.4.19: + version "10.4.19" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" + integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== + dependencies: + browserslist "^4.23.0" + caniuse-lite "^1.0.30001599" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +babel-loader@^9.1.3: + version "9.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== + dependencies: + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.2" + semver "^6.3.1" + +babel-plugin-polyfill-corejs2@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz#b2df0251d8e99f229a8e60fc4efa9a68b41c8313" + integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.3" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" + +babel-plugin-polyfill-corejs3@^0.8.5: + version "0.8.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz#25c2d20002da91fe328ff89095c85a391d6856cf" + integrity sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.3" + core-js-compat "^3.33.1" + +babel-plugin-polyfill-regenerator@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz#d4c49e4b44614607c13fb769bcd85c72bb26a4a5" + integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.3" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + 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" + +bonjour-service@^1.0.11: + version "1.1.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" + integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== + dependencies: + array-flatten "^2.1.2" + dns-equal "^1.0.0" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +boxen@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d" + integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== + dependencies: + ansi-align "^3.0.1" + camelcase "^6.2.0" + chalk "^4.1.2" + cli-boxes "^3.0.0" + string-width "^5.0.1" + type-fest "^2.5.0" + widest-line "^4.0.1" + wrap-ansi "^8.0.1" + +boxen@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" + integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== + dependencies: + ansi-align "^3.0.1" + camelcase "^7.0.1" + chalk "^5.2.0" + cli-boxes "^3.0.0" + string-width "^5.1.2" + type-fest "^2.13.0" + widest-line "^4.0.1" + wrap-ansi "^8.1.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.9, browserslist@^4.22.1: + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== + dependencies: + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" + +browserslist@^4.22.2, browserslist@^4.23.0: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacheable-lookup@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" + integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== + +cacheable-request@^10.2.8: + version "10.2.14" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d" + integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== + dependencies: + "@types/http-cache-semantics" "^4.0.2" + get-stream "^6.0.1" + http-cache-semantics "^4.1.1" + keyv "^4.5.3" + mimic-response "^4.0.0" + normalize-url "^8.0.0" + responselike "^3.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +camelcase@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" + integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: + version "1.0.30001564" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz#eaa8bbc58c0cbccdcb7b41186df39dd2ba591889" + integrity sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg== + +caniuse-lite@^1.0.30001587: + version "1.0.30001588" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz#07f16b65a7f95dba82377096923947fb25bce6e3" + integrity sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ== + +caniuse-lite@^1.0.30001599: + version "1.0.30001620" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz#78bb6f35b8fe315b96b8590597094145d0b146b4" + integrity sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew== + +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^5.0.1, chalk@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== + +character-reference-invalid@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" + integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== + +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + 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.0.1" + +cheerio@1.0.0-rc.12: + version "1.0.0-rc.12" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + +chokidar@^3.4.2, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" + integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" + integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== + +cli-table3@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clsx@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" + integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== + +clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + +collapse-white-space@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" + integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.3: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +combine-promises@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/combine-promises/-/combine-promises-1.2.0.tgz#5f2e68451862acf85761ded4d9e2af7769c2ca6a" + integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +config-chain@^1.1.11: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" + integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== + dependencies: + dot-prop "^6.0.1" + graceful-fs "^4.2.6" + unique-string "^3.0.0" + write-file-atomic "^3.0.3" + xdg-basedir "^5.0.1" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +consola@^2.15.3: + version "2.15.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" + integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copy-text-to-clipboard@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b" + integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== + +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== + dependencies: + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.31.0, core-js-compat@^3.33.1: + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.3.tgz#ec678b772c5a2d8a7c60a91c3a81869aa704ae01" + integrity sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow== + dependencies: + browserslist "^4.22.1" + +core-js-compat@^3.36.1: + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" + integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== + dependencies: + browserslist "^4.23.0" + +core-js-pure@^3.30.2: + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.3.tgz#cbf9180ac4c4653823d784862bfb5c77eac0bf98" + integrity sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ== + +core-js@^3.31.1: + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.3.tgz#3c644a323f0f533a0d360e9191e37f7fc059088d" + integrity sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^8.1.3, cosmiconfig@^8.2.0: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-random-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" + integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== + dependencies: + type-fest "^1.0.1" + +css-declaration-sorter@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" + integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== + +css-loader@^6.8.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" + integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.21" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.3" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.8" + +css-minimizer-webpack-plugin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" + integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + cssnano "^6.0.1" + jest-worker "^29.4.3" + postcss "^8.4.24" + schema-utils "^4.0.1" + serialize-javascript "^6.0.1" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.0.1, css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-advanced@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz#82b090872b8f98c471f681d541c735acf8b94d3f" + integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ== + dependencies: + autoprefixer "^10.4.19" + browserslist "^4.23.0" + cssnano-preset-default "^6.1.2" + postcss-discard-unused "^6.0.5" + postcss-merge-idents "^6.0.3" + postcss-reduce-idents "^6.0.3" + postcss-zindex "^6.0.2" + +cssnano-preset-default@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e" + integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== + dependencies: + browserslist "^4.23.0" + css-declaration-sorter "^7.2.0" + cssnano-utils "^4.0.2" + postcss-calc "^9.0.1" + postcss-colormin "^6.1.0" + postcss-convert-values "^6.1.0" + postcss-discard-comments "^6.0.2" + postcss-discard-duplicates "^6.0.3" + postcss-discard-empty "^6.0.3" + postcss-discard-overridden "^6.0.2" + postcss-merge-longhand "^6.0.5" + postcss-merge-rules "^6.1.1" + postcss-minify-font-values "^6.1.0" + postcss-minify-gradients "^6.0.3" + postcss-minify-params "^6.1.0" + postcss-minify-selectors "^6.0.4" + postcss-normalize-charset "^6.0.2" + postcss-normalize-display-values "^6.0.2" + postcss-normalize-positions "^6.0.2" + postcss-normalize-repeat-style "^6.0.2" + postcss-normalize-string "^6.0.2" + postcss-normalize-timing-functions "^6.0.2" + postcss-normalize-unicode "^6.1.0" + postcss-normalize-url "^6.0.2" + postcss-normalize-whitespace "^6.0.2" + postcss-ordered-values "^6.0.2" + postcss-reduce-initial "^6.1.0" + postcss-reduce-transforms "^6.0.2" + postcss-svgo "^6.0.3" + postcss-unique-selectors "^6.0.4" + +cssnano-utils@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c" + integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== + +cssnano@^6.0.1, cssnano@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8" + integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== + dependencies: + cssnano-preset-default "^6.1.2" + lilconfig "^3.1.1" + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + +csstype@^3.0.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +debounce@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + +debug@2.6.9, debug@^2.6.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decode-named-character-reference@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + dependencies: + character-entities "^2.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deepmerge@^4.2.2, deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defer-to-connect@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +del@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" + integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port-alt@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +detect-port@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + dependencies: + address "^1.0.1" + debug "4" + +devlop@^1.0.0, devlop@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.535: + version "1.4.594" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.594.tgz#f69f207fba80735a44a988df42f3f439115d0515" + integrity sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ== + +electron-to-chromium@^1.4.668: + version "1.4.679" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.679.tgz#480f497874ce2be162c0ac271eec91918bf96247" + integrity sha512-NhQMsz5k0d6m9z3qAxnsOR/ebal4NAGsrNVRwcDo4Kc/zQ7KdsTKZUxZoygHcVRb0QDW3waEDIcE3isZ79RP6g== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojilib@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/emojilib/-/emojilib-2.4.0.tgz#ac518a8bb0d5f76dda57289ccb2fdf9d39ae721e" + integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +emoticon@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.0.1.tgz#2d2bbbf231ce3a5909e185bbb64a9da703a1e749" + integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-goat@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" + integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== + +escape-html@^1.0.3, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-util-attach-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d" + integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== + dependencies: + "@types/estree" "^1.0.0" + +estree-util-build-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1" + integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-walker "^3.0.0" + +estree-util-is-identifier-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" + integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== + +estree-util-to-js@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17" + integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== + dependencies: + "@types/estree-jsx" "^1.0.0" + astring "^1.8.0" + source-map "^0.7.0" + +estree-util-value-to-estree@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz#0b7b5d6b6a4aaad5c60999ffbc265a985df98ac5" + integrity sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA== + dependencies: + "@types/estree" "^1.0.0" + is-plain-obj "^4.0.0" + +estree-util-visit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb" + integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/unist" "^3.0.0" + +estree-walker@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eta@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" + integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eval@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" + integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== + dependencies: + "@types/node" "*" + require-like ">= 0.1.1" + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + 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" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-url-parser@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" + integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== + dependencies: + punycode "^1.3.2" + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fault@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" + integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== + dependencies: + format "^0.2.0" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +feed@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" + integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== + dependencies: + xml-js "^1.6.11" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +filesize@^8.0.6: + version "8.0.7" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" + integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + 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" + +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@^1.0.0: + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== + +fork-ts-checker-webpack-plugin@^6.5.0: + version "6.5.3" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" + integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + +form-data-encoder@^2.1.2: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" + integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== + +format@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" + integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.3.6, fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== + dependencies: + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +github-slugger@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" + integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^13.1.1: + version "13.2.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" + integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.3.0" + ignore "^5.2.4" + merge2 "^1.4.1" + slash "^4.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^12.1.0: + version "12.6.1" + resolved "https://registry.yarnpkg.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" + integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== + dependencies: + "@sindresorhus/is" "^5.2.0" + "@szmarczak/http-timer" "^5.0.1" + cacheable-lookup "^7.0.0" + cacheable-request "^10.2.8" + decompress-response "^6.0.0" + form-data-encoder "^2.1.2" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^3.0.0" + +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +gray-matter@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== + dependencies: + js-yaml "^3.13.1" + kind-of "^6.0.2" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-yarn@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" + integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +hast-util-from-parse5@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz#654a5676a41211e14ee80d1b1758c399a0327651" + integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + hastscript "^8.0.0" + property-information "^6.0.0" + vfile "^6.0.0" + vfile-location "^5.0.0" + web-namespaces "^2.0.0" + +hast-util-parse-selector@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" + integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-raw@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.0.1.tgz#2ba8510e4ed2a1e541cde2a4ebb5c38ab4c82c2d" + integrity sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + "@ungap/structured-clone" "^1.0.0" + hast-util-from-parse5 "^8.0.0" + hast-util-to-parse5 "^8.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + parse5 "^7.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-to-estree@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz#f2afe5e869ddf0cf690c75f9fc699f3180b51b19" + integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== + dependencies: + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + estree-util-attach-comments "^3.0.0" + estree-util-is-identifier-name "^3.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.0" + unist-util-position "^5.0.0" + zwitch "^2.0.0" + +hast-util-to-jsx-runtime@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.2.0.tgz#ffd59bfcf0eb8321c6ed511bfc4b399ac3404bc2" + integrity sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^3.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.0" + unist-util-position "^5.0.0" + vfile-message "^4.0.0" + +hast-util-to-parse5@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz#477cd42d278d4f036bc2ea58586130f6f39ee6ed" + integrity sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" + +hastscript@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-8.0.0.tgz#4ef795ec8dee867101b9f23cc830d4baf4fd781a" + integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^4.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hoist-non-react-statics@^3.1.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + +html-escaper@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + +html-minifier-terser@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz#18752e23a2f0ed4b0f550f217bb41693e975b942" + integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== + dependencies: + camel-case "^4.1.2" + clean-css "~5.3.2" + commander "^10.0.0" + entities "^4.4.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.15.1" + +html-tags@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== + +html-void-elements@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" + integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== + +html-webpack-plugin@^5.5.3: + version "5.5.3" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" + integrity sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +htmlparser2@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + entities "^4.4.0" + +http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http2-wrapper@^2.1.10: + version "2.2.1" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" + integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ignore@^5.2.0, ignore@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +image-size@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.2.tgz#d778b6d0ab75b2737c1556dd631652eb963bc486" + integrity sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg== + dependencies: + queue "6.0.2" + +immer@^9.0.7: + version "9.0.21" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" + integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== + +import-fresh@^3.1.0, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infima@0.2.0-alpha.44: + version "0.2.0-alpha.44" + resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.44.tgz#9cd9446e473b44d49763f48efabe31f32440861d" + integrity sha512-tuRkUSO/lB3rEhLJk25atwAjgLuzq070+pOW8XcvpHky/YbENnRRdPd85IBkyeTgttmOy5ah+yHYsK1HhUd4lQ== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-alphabetical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" + integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== + +is-alphanumerical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" + integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== + dependencies: + is-alphabetical "^2.0.0" + is-decimal "^2.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-decimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" + integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" + integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-npm@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" + integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-reference@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" + integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== + dependencies: + "@types/estree" "*" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +is-root@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-yarn-global@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" + integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.4.3: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jiti@^1.18.2, jiti@^1.20.0: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +joi@^17.9.2: + version "17.11.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a" + integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json5@^2.1.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +latest-version@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" + integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== + dependencies: + package-json "^8.1.0" + +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +lilconfig@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" + integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" + integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +longest-streak@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" + integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +markdown-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" + integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== + +markdown-table@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" + integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== + +mdast-util-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz#3fb1764e705bbdf0afb0d3f889e4404c3e82561f" + integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-visit-parents "^6.0.0" + +mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz#a6fc7b62f0994e973490e45262e4bc07607b04e0" + integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== + dependencies: + "@types/mdast" "^4.0.0" + escape-string-regexp "^5.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + +mdast-util-from-markdown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz#52f14815ec291ed061f2922fd14d6689c810cb88" + integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + mdast-util-to-string "^4.0.0" + micromark "^4.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-decode-string "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-stringify-position "^4.0.0" + +mdast-util-frontmatter@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz#f5f929eb1eb36c8a7737475c7eb438261f964ee8" + integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + escape-string-regexp "^5.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + +mdast-util-gfm-autolink-literal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz#5baf35407421310a08e68c15e5d8821e8898ba2a" + integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== + dependencies: + "@types/mdast" "^4.0.0" + ccount "^2.0.0" + devlop "^1.0.0" + mdast-util-find-and-replace "^3.0.0" + micromark-util-character "^2.0.0" + +mdast-util-gfm-footnote@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz#25a1753c7d16db8bfd53cd84fe50562bd1e6d6a9" + integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + +mdast-util-gfm-strikethrough@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16" + integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-table@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38" + integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + markdown-table "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-task-list-item@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936" + integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz#3f2aecc879785c3cb6a81ff3a243dc11eca61095" + integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== + dependencies: + mdast-util-from-markdown "^2.0.0" + 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.0.0" + +mdast-util-mdx-expression@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz#4968b73724d320a379110d853e943a501bfd9d87" + integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdx-jsx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz#f73631fa5bb7a36712ff1e9cedec0cafed03401c" + integrity sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-remove-position "^5.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" + +mdast-util-mdx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" + integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdxjs-esm@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" + integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-phrasing@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz#468cbbb277375523de807248b8ad969feb02a5c7" + integrity sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA== + dependencies: + "@types/mdast" "^4.0.0" + unist-util-is "^6.0.0" + +mdast-util-to-hast@^13.0.0: + version "13.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz#74c0a9f014bb2340cae6118f6fccd75467792be7" + integrity sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + +mdast-util-to-markdown@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz#9813f1d6e0cdaac7c244ec8c6dabfdb2102ea2b4" + integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-string "^4.0.0" + micromark-util-decode-string "^2.0.0" + unist-util-visit "^5.0.0" + zwitch "^2.0.0" + +mdast-util-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" + integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== + dependencies: + "@types/mdast" "^4.0.0" + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.1.2, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromark-core-commonmark@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz#50740201f0ee78c12a675bf3e68ffebc0bf931a3" + integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz#527869de497a6de9024138479091bc885dae076b" + integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + parse-entities "^4.0.0" + +micromark-extension-frontmatter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz#651c52ffa5d7a8eeed687c513cd869885882d67a" + integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== + dependencies: + fault "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-autolink-literal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz#f1e50b42e67d441528f39a67133eddde2bbabfd9" + integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== + dependencies: + micromark-util-character "^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-footnote@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz#91afad310065a94b636ab1e9dab2c60d1aab953c" + integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== + dependencies: + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.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: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz#6917db8e320da70e39ffbf97abdbff83e6783e61" + integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== + dependencies: + devlop "^1.0.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: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz#2cf3fe352d9e089b7ef5fff003bdfe0da29649b7" + integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-tagfilter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57" + integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-gfm-task-list-item@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz#ee8b208f1ced1eb9fb11c19a23666e59d86d4838" + integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b" + integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== + 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.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-expression@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz#1407b9ce69916cf5e03a196ad9586889df25302a" + integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-jsx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz#4aba0797c25efb2366a3fd2d367c6b1c1159f4f5" + integrity sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w== + dependencies: + "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdx-md@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d" + integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-mdxjs-esm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a" + integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdxjs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18" + integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== + dependencies: + acorn "^8.0.0" + acorn-jsx "^5.0.0" + micromark-extension-mdx-expression "^3.0.0" + micromark-extension-mdx-jsx "^3.0.0" + micromark-extension-mdx-md "^2.0.0" + micromark-extension-mdxjs-esm "^3.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz#857c94debd2c873cba34e0445ab26b74f6a6ec07" + integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-label@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz#17c5c2e66ce39ad6f4fc4cbf40d972f9096f726a" + integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== + dependencies: + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-mdx-expression@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz#f2a9724ce174f1751173beb2c1f88062d3373b1b" + integrity sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-factory-space@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" + integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-space@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz#5e7afd5929c23b96566d0e1ae018ae4fcf81d030" + integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-title@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz#726140fc77892af524705d689e1cf06c8a83ea95" + integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-whitespace@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz#9e92eb0f5468083381f923d9653632b3cfb5f763" + integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" + integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-character@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.0.1.tgz#52b824c2e2633b6fb33399d2ec78ee2a90d6b298" + integrity sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw== + dependencies: + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-chunked@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz#e51f4db85fb203a79dbfef23fd41b2f03dc2ef89" + integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-classify-character@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz#8c7537c20d0750b12df31f86e976d1d951165f34" + integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-combine-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz#75d6ab65c58b7403616db8d6b31315013bfb7ee5" + integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== + dependencies: + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz#2698bbb38f2a9ba6310e359f99fcb2b35a0d2bd5" + integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-decode-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz#7dfa3a63c45aecaa17824e656bcdb01f9737154a" + integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz#0921ac7953dc3f1fd281e3d1932decfdb9382ab1" + integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== + +micromark-util-events-to-acorn@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz#4275834f5453c088bd29cd72dfbf80e3327cec07" + integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== + dependencies: + "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-util-html-tag-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz#ae34b01cbe063363847670284c6255bb12138ec4" + integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== + +micromark-util-normalize-identifier@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz#91f9a4e65fe66cc80c53b35b0254ad67aa431d8b" + integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-resolve-all@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz#189656e7e1a53d0c86a38a652b284a252389f364" + integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz#ec8fbf0258e9e6d8f13d9e4770f9be64342673de" + integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-subtokenize@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz#9f412442d77e0c5789ffdf42377fa8a2bcbdf581" + integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" + integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== + +micromark-util-symbol@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz#12225c8f95edf8b17254e47080ce0862d5db8044" + integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== + +micromark-util-types@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" + integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== + +micromark-util-types@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz#63b4b7ffeb35d3ecf50d1ca20e68fc7caa36d95e" + integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== + +micromark@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.0.tgz#84746a249ebd904d9658cfabc1e8e5f32cbc6249" + integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== + +mime-types@2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== + dependencies: + mime-db "~1.33.0" + +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +mimic-response@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" + integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== + +mini-css-extract-plugin@^2.7.6: + version "2.7.6" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz#282a3d38863fddcd2e0c220aaed5b90bc156564d" + integrity sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw== + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mrmime@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" + integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@^3.3.6, nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-emoji@^2.1.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.1.3.tgz#93cfabb5cc7c3653aa52f29d6ffb7927d8047c06" + integrity sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA== + dependencies: + "@sindresorhus/is" "^4.6.0" + char-regex "^1.0.2" + emojilib "^2.4.0" + skin-tone "^2.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.0.tgz#593dbd284f743e8dcf6a5ddf8fadff149c82701a" + integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9, open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" + integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== + dependencies: + got "^12.1.0" + registry-auth-token "^5.0.1" + registry-url "^6.0.0" + semver "^7.3.7" + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-entities@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e" + integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== + dependencies: + "@types/unist" "^2.0.0" + character-entities "^2.0.0" + character-entities-legacy "^3.0.0" + character-reference-invalid "^2.0.0" + decode-named-character-reference "^1.0.0" + is-alphanumerical "^2.0.0" + is-decimal "^2.0.0" + is-hexadecimal "^2.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-numeric-range@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" + integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== + +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-is-inside@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-to-regexp@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.2.1.tgz#90b617025a16381a879bc82a38d4e8bdeb2bcf45" + integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +periscopic@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" + integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^3.0.0" + is-reference "^3.0.0" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +postcss-calc@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" + integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== + dependencies: + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + +postcss-colormin@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d" + integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + colord "^2.9.3" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48" + integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c" + integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== + +postcss-discard-duplicates@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb" + integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== + +postcss-discard-empty@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9" + integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== + +postcss-discard-overridden@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d" + integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== + +postcss-discard-unused@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz#c1b0e8c032c6054c3fbd22aaddba5b248136f338" + integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-loader@^7.3.3: + version "7.3.3" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.3.tgz#6da03e71a918ef49df1bb4be4c80401df8e249dd" + integrity sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA== + dependencies: + cosmiconfig "^8.2.0" + jiti "^1.18.2" + semver "^7.3.8" + +postcss-merge-idents@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz#7b9c31c7bc823c94bec50f297f04e3c2b838ea65" + integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g== + dependencies: + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-merge-longhand@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a" + integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^6.1.1" + +postcss-merge-rules@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d" + integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + cssnano-utils "^4.0.2" + postcss-selector-parser "^6.0.16" + +postcss-minify-font-values@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59" + integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6" + integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== + dependencies: + colord "^2.9.3" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08" + integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== + dependencies: + browserslist "^4.23.0" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff" + integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" + integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1" + integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== + +postcss-normalize-display-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535" + integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a" + integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3" + integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363" + integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0" + integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e" + integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79" + integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd" + integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5" + integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== + dependencies: + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-reduce-idents@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz#b0d9c84316d2a547714ebab523ec7d13704cd486" + integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba" + integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d" + integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: + version "6.0.16" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04" + integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-sort-media-queries@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz#4556b3f982ef27d3bac526b99b6c0d3359a6cf97" + integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA== + dependencies: + sort-css-media-queries "2.2.0" + +postcss-svgo@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa" + integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^3.2.0" + +postcss-unique-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088" + integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss-zindex@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz#e498304b83a8b165755f53db40e2ea65a99b56e1" + integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== + +postcss@^8.4.21, postcss@^8.4.26: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.4.24, postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +pretty-time@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" + integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== + +prism-react-renderer@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz#e59e5450052ede17488f6bc85de1553f584ff8d5" + integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== + dependencies: + "@types/prismjs" "^1.26.0" + clsx "^2.0.0" + +prism-react-renderer@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.0.tgz#c5ea692029c2f8b3fd04f63662d04ffd4eaf10a0" + integrity sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw== + dependencies: + "@types/prismjs" "^1.26.0" + clsx "^2.0.0" + +prismjs@^1.29.0: + version "1.29.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.5.0, prop-types@^15.6.2, prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-information@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.4.0.tgz#6bc4c618b0c2d68b3bb8b552cbb97f8e300a0f82" + integrity sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ== + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +punycode@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pupa@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579" + integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== + dependencies: + escape-goat "^4.0.0" + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +queue@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-dev-utils@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" + integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== + dependencies: + "@babel/code-frame" "^7.16.0" + address "^1.1.2" + browserslist "^4.18.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.6" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.5.0" + global-modules "^2.0.0" + globby "^11.0.4" + gzip-size "^6.0.0" + immer "^9.0.7" + is-root "^2.1.0" + loader-utils "^3.2.0" + open "^8.4.0" + pkg-up "^3.1.0" + prompts "^2.4.2" + react-error-overlay "^6.0.11" + recursive-readdir "^2.2.2" + shell-quote "^1.7.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +react-dom@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.2" + +react-error-overlay@^6.0.11: + version "6.0.11" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" + integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + +react-fast-compare@^3.2.0, react-fast-compare@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-helmet-async@*: + version "2.0.1" + resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-2.0.1.tgz#c97e53d03bfe578011e4abbd61113321b0362471" + integrity sha512-SFvEqfhFpLr5xqU6fWFb8wjVPjOR4A5skkNVNN5gAr/QeHutfDe4m1Cdo521umTiFRAY8hDOcl4xJO8sXN1n2Q== + dependencies: + invariant "^2.2.4" + react-fast-compare "^3.2.2" + shallowequal "^1.1.0" + +react-helmet-async@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz#7bd5bf8c5c69ea9f02f6083f14ce33ef545c222e" + integrity sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg== + dependencies: + "@babel/runtime" "^7.12.5" + invariant "^2.2.4" + prop-types "^15.7.2" + react-fast-compare "^3.2.0" + shallowequal "^1.1.0" + +react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-json-view-lite@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz#c59a0bea4ede394db331d482ee02e293d38f8218" + integrity sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ== + +react-loadable-ssr-addon-v5-slorber@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz#2cdc91e8a744ffdf9e3556caabeb6e4278689883" + integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== + dependencies: + "@babel/runtime" "^7.10.3" + +react-loadable@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/react-loadable/-/react-loadable-5.5.0.tgz#582251679d3da86c32aae2c8e689c59f1196d8c4" + integrity sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg== + dependencies: + prop-types "^15.5.0" + +"react-loadable@npm:@docusaurus/react-loadable@6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz#de6c7f73c96542bd70786b8e522d535d69069dc4" + integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== + dependencies: + "@types/react" "*" + +react-router-config@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988" + integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== + dependencies: + "@babel/runtime" "^7.1.2" + +react-router-dom@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6" + integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.3.4" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.3.4, react-router@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" + integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== + dependencies: + loose-envify "^1.1.0" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reading-time@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" + integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +registry-auth-token@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" + integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== + dependencies: + "@pnpm/npm-conf" "^2.1.0" + +registry-url@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" + integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== + dependencies: + rc "1.2.8" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +rehype-raw@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4" + integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== + dependencies: + "@types/hast" "^3.0.0" + hast-util-raw "^9.0.0" + vfile "^6.0.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +remark-directive@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.0.tgz#34452d951b37e6207d2e2a4f830dc33442923268" + integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-directive "^3.0.0" + micromark-extension-directive "^3.0.0" + unified "^11.0.0" + +remark-emoji@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-4.0.1.tgz#671bfda668047689e26b2078c7356540da299f04" + integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== + dependencies: + "@types/mdast" "^4.0.2" + emoticon "^4.0.1" + mdast-util-find-and-replace "^3.0.1" + node-emoji "^2.1.0" + unified "^11.0.4" + +remark-frontmatter@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz#b68d61552a421ec412c76f4f66c344627dc187a2" + integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-frontmatter "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + unified "^11.0.0" + +remark-gfm@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.0.tgz#aea777f0744701aa288b67d28c43565c7e8c35de" + integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== + dependencies: + "@types/mdast" "^4.0.0" + 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.0" + +remark-mdx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.0.0.tgz#146905a3925b078970e05fc89b0e16b9cc3bfddd" + integrity sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g== + dependencies: + mdast-util-mdx "^3.0.0" + micromark-extension-mdxjs "^3.0.0" + +remark-parse@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" + integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + micromark-util-types "^2.0.0" + unified "^11.0.0" + +remark-rehype@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.0.0.tgz#7f21c08738bde024be5f16e4a8b13e5d7a04cf6b" + integrity sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-to-hast "^13.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +remark-stringify@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3" + integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-to-markdown "^2.0.0" + unified "^11.0.0" + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +"require-like@>= 0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa" + integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-alpn@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve@^1.1.6, resolve@^1.14.2: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" + integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== + dependencies: + lowercase-keys "^3.0.0" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rtl-detect@^1.0.4: + version "1.1.2" + resolved "https://registry.yarnpkg.com/rtl-detect/-/rtl-detect-1.1.2.tgz#ca7f0330af5c6bb626c15675c642ba85ad6273c6" + integrity sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ== + +rtlcss@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.1.1.tgz#f20409fcc197e47d1925996372be196fee900c0c" + integrity sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + postcss "^8.4.21" + strip-json-comments "^3.1.1" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@^1.2.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== + dependencies: + loose-envify "^1.1.0" + +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0, schema-utils@^4.0.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +semver-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" + integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== + dependencies: + semver "^7.3.5" + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + 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" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" + +serve-handler@^6.1.5: + version "6.1.5" + resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.5.tgz#a4a0964f5c55c7e37a02a633232b6f0d6f068375" + integrity sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg== + 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: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3, shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sirv@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.3.tgz#ca5868b87205a74bef62a469ed0296abceccd446" + integrity sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA== + dependencies: + "@polka/url" "^1.0.0-next.20" + mrmime "^1.0.0" + totalist "^3.0.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +sitemap@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" + integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + dependencies: + "@types/node" "^17.0.5" + "@types/sax" "^1.2.1" + arg "^5.0.0" + sax "^1.2.4" + +skin-tone@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/skin-tone/-/skin-tone-2.0.0.tgz#4e3933ab45c0d4f4f781745d64b9f4c208e41237" + integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== + dependencies: + unicode-emoji-modifier-base "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +sort-css-media-queries@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz#aa33cf4a08e0225059448b6c40eddbf9f1c8334c" + integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== + +source-map-js@^1.0.1, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.0: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +srcset@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" + integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +std-env@^3.0.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.5.0.tgz#83010c9e29bd99bf6f605df87c19012d82d63b97" + integrity sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA== + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-entities@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" + integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== + dependencies: + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +style-to-object@^0.4.0: + version "0.4.4" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" + integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== + dependencies: + inline-style-parser "0.1.1" + +stylehacks@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6" + integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== + dependencies: + browserslist "^4.23.0" + postcss-selector-parser "^6.0.16" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^3.0.2, svgo@^3.2.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8" + integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw== + 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.0" + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.7, terser-webpack-plugin@^5.3.9: + version "5.3.9" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" + integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.16.8" + +terser@^5.10.0, terser@^5.15.1, terser@^5.16.8: + version "5.24.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.24.0.tgz#4ae50302977bca4831ccc7b4fef63a3c04228364" + integrity sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tiny-invariant@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + +tiny-warning@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +totalist@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" + integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== + +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + +trough@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" + integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== + +tslib@^2.0.3, tslib@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +type-fest@^1.0.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-fest@^2.13.0, type-fest@^2.5.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@~5.5.4: + version "5.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" + integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-emoji-modifier-base@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz#dbbd5b54ba30f287e2a8d5a249da6c0cef369459" + integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.4.tgz#f4be0ac0fe4c88cb873687c07c64c49ed5969015" + integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== + dependencies: + "@types/unist" "^3.0.0" + bail "^2.0.0" + devlop "^1.0.0" + extend "^3.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^6.0.0" + +unique-string@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" + integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== + dependencies: + crypto-random-string "^4.0.0" + +unist-util-is@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" + integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200" + integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-remove-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163" + integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== + dependencies: + "@types/unist" "^3.0.0" + unist-util-visit "^5.0.0" + +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-visit-parents@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" + integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + +unist-util-visit@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" + integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-notifier@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" + integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== + dependencies: + boxen "^7.0.0" + chalk "^5.0.1" + 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.0" + latest-version "^7.0.0" + pupa "^3.1.0" + semver "^7.3.7" + semver-diff "^4.0.0" + xdg-basedir "^5.1.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utility-types@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" + integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vfile-location@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.2.tgz#220d9ca1ab6f8b2504a4db398f7ebc149f9cb464" + integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== + dependencies: + "@types/unist" "^3.0.0" + vfile "^6.0.0" + +vfile-message@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" + integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + +vfile@^6.0.0, vfile@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536" + integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + +webpack-bundle-analyzer@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz#84b7473b630a7b8c21c741f81d8fe4593208b454" + integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== + dependencies: + "@discoveryjs/json-ext" "0.5.7" + acorn "^8.0.4" + acorn-walk "^8.0.0" + commander "^7.2.0" + debounce "^1.2.1" + escape-string-regexp "^4.0.0" + gzip-size "^6.0.0" + html-escaper "^2.0.2" + is-plain-object "^5.0.0" + opener "^1.5.2" + picocolors "^1.0.0" + sirv "^2.0.3" + ws "^7.3.1" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.15.1: + version "4.15.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^5.9.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.88.1: + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.7" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +webpackbar@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.2.tgz#d3dd466211c73852741dfc842b7556dcbc2b0570" + integrity sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ== + dependencies: + chalk "^4.1.0" + consola "^2.15.3" + pretty-time "^1.1.0" + std-env "^3.0.1" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +widest-line@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" + integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== + dependencies: + string-width "^5.0.1" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.3.1: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.13.0: + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + +xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" + integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== + +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zwitch@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 9b7ec417..f1ae5b13 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -2,6 +2,7 @@ "extends": "./tsconfig.base.json", "include": [ "packages", - "integration" + "integration", + "docs" ] }